2014-02-18 1 views
0

Я использую кнопки флажок, и я хочу сделать кнопку расширения в ширину, когда я нажимаю его с помощью LBUTTONDOWNРасширение ширины кнопки на мыши

ли это предполагает использовать что-то вроде AppendMenu()? Если да, то как мне это сделать?

Это то, что я до сих пор для моей кнопки прок:

LRESULT CALLBACK ButtonWndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM  lParam){ 
    static int x,y,btnwidth, btnheight; 
    switch (message){ 
     case WM_USER: 
      btnwidth=wParam; 
      btnheight=lParam; 
      return 0; 
     case WM_LBUTTONDOWN: 
      btnwidth *= 2; 
      break; 
    } 

ответ

1

Вы можете расширить кнопку, вызвав MoveWindow. Вероятно, вы захотите сначала вызвать GetWindowRect, чтобы получить текущий размер и положение, а затем ScreenToClient для преобразования координат rect в клиент. Затем вы можете скорректировать координаты клиента по своему усмотрению и передать их в MoveWindow.

+0

Или 'SetWindowPos()', если вам нужно больше управления, чем 'MoveWindow()' разрешает. –