我通過以下代碼創建了up-down control。上下控制不顯示其夥伴窗口中的位置
HWND hEdit, hUpDown;
hEdit = CreateWindowExW(WS_EX_CLIENTEDGE,
L"EDIT",
Content.c_str(),
ES_LEFT | WS_VISIBLE | WS_CHILD,
600,
260,
100,
25,
hWndParent,
NULL,
hInstance,
NULL);
INITCOMMONCONTROLSEX iccx;
iccx.dwSize = sizeof(INITCOMMONCONTROLSEX);
iccx.dwICC = ICC_UPDOWN_CLASS;
InitCommonControlsEx(&iccx);
hUpDown = CreateWindowExW( 0,
UPDOWN_CLASSW,
L"",
UDS_ARROWKEYS | UDS_ALIGNRIGHT | WS_VISIBLE | WS_CHILD,
0,
0,
0,
0,
hWndParent,
NULL,
hInstance,
NULL);
SendMessageW(hUpDown, UDM_SETBUDDY, (WPARAM) hEdit, (LPARAM) NULL);
SendMessageW(hUpDown, UDM_SETRANGE32, (WPARAM) 0, (LPARAM) 100);
Sleep(5000);
SendMessageW(hUpDown, UDM_SETPOS32, (WPARAM) NULL, (LPARAM) 20);
Sleep(5000);
SendMessageW(hUpDown, UDM_SETPOS32, (WPARAM) NULL, (LPARAM) 60);
我檢查了SendMessageW()
函數的返回值。他們通過返回以前的位置值as documented成功終止。
創建的上下控制看起來正常:
的問題是,在發送UDM_SETPOS32
消息,單擊向上和向下箭頭,然後按鍵盤上的上下鍵沒有任何效果。我無法直接在其中輸入內容來更改編輯控件的內容(上下控件的好友窗口)。它只是空着。
我可以手動通過使用鍵盤輸入任何東西:
如何通過按下鍵盤上的箭頭鍵更改此上下控制的位置/值,通過點擊箭頭GUI並通過在代碼中發送UDM_SETPOS32
?我在代碼中缺少什麼?
這個問題不使用第三方的,[Win32GUI(https://開頭的SourceForge .net/projects/win32gui /)庫,我建議從這個問題中刪除標記,我會刪除它,但不建議用戶建議標記編輯。 – jrh