Нарисовать линию/рамку ресайзинга

Тема в разделе "WASM.BEGINNERS", создана пользователем nickye, 22 фев 2007.

  1. nickye

    nickye New Member

    Публикаций:
    0
    Регистрация:
    6 янв 2007
    Сообщения:
    6
    Имею деление гл. окна на 2 дочерних, промежуток 4 px - сплиттер.
    Хочу изобразить "фантомную" линию при ресайзинге, как у Windows, чтобы перерисовывать окна только на mouseup.

    Придется вручную или тут есть что взять из WinAPI?
    Нет ли где примеров посмотреть?
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.351
    Сама линия:
    Код (Text):
    1. void Splitter_DrawXorBar(HDC hdc, int x1, int y1, int width, int height)
    2. {
    3.     static WORD _dotPatternBmp[8] =
    4.     {
    5.         0x00aa, 0x0055, 0x00aa, 0x0055,
    6.         0x00aa, 0x0055, 0x00aa, 0x0055
    7.     };
    8.    
    9.     HBITMAP hBitmap;
    10.     HBRUSH  hBrush, hOldBrush;
    11.    
    12.     hBitmap = CreateBitmap(8, 8, 1, 1, _dotPatternBmp);
    13.     hBrush = CreatePatternBrush(hBitmap);
    14.    
    15.     SetBrushOrgEx(hdc, x1, y1, 0);
    16.     hOldBrush = SelectBrush(hdc, hBrush);
    17.    
    18.     PatBlt(hdc, x1, y1, width, height, PATINVERT);
    19.    
    20.     SelectBrush(hdc, hOldBrush);
    21.    
    22.     DeleteBrush(hBrush);
    23.     DeleteBitmap(hBitmap);
    24. }
    На api ничего такого нет, ищи в сети сорцы сплиттеров...
     
  3. nickye

    nickye New Member

    Публикаций:
    0
    Регистрация:
    6 янв 2007
    Сообщения:
    6
    rmn, спасибо.
     
  4. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    rmn
    Да куда же она делась, родимая? DrawFocusRect - и счастье так близко.
     
  5. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.351
    CyberManiac
    DrawFocusRect рисует рамку, а не сплошной прямоугольник. Или я ошибаюсь?
     
  6. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    mfc, боже..