|
4驿站币
在尝试对话框最大化时发现了如下问题:
1.最大化后对话框里会出现黑边,且无法选中标题栏
最大化后出现黑边
2.最大化恢复后,内部控件会向下移动,第一次点击标题栏时无法选中,第二次点击时可以选中并拖拽
恢复大小后控件移动
请各位大佬帮忙指正,我把我的代码贴在下面
- #include "DialogProc.h"
- INT_PTR WINAPI DialogHandle(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) {
- switch (uMsg) {
- case WM_SIZE: {
- DWORD dwSizeType = wParam;
- int nWidth = LOWORD(lParam);
- int nHeight = HIWORD(lParam);
- TCHAR szText[] = _T("size change\r\n");
- SendDlgItemMessage(hWndDlg, IDC_SHOWMSG, EM_SETSEL, -2, -1);
- SendDlgItemMessage(hWndDlg, IDC_SHOWMSG, EM_REPLACESEL, true, (LPARAM)szText);
- UpdateWindow(hWndDlg);
- break;
- }
- case WM_COMMAND: {
- UINT nCtrlId = LOWORD(wParam); // wParam存储控件id
- UINT nCode = HIWORD(lParam); // lParam存储控件响应的事件
- switch (nCtrlId) {
- case IDC_BTN1: {
- TCHAR szText[] = _T("button 1 click\r\n");
- SendDlgItemMessage(hWndDlg, IDC_SHOWMSG, EM_SETSEL, -2, -1);
- SendDlgItemMessage(hWndDlg, IDC_SHOWMSG, EM_REPLACESEL, true, (LPARAM)szText);
- break;
- }
- case IDC_BTN2: {
- TCHAR szText[] = _T("button 2 click\r\n");
- SendDlgItemMessage(hWndDlg, IDC_SHOWMSG, EM_SETSEL, -2, -1);
- SendDlgItemMessage(hWndDlg, IDC_SHOWMSG, EM_REPLACESEL, true, (LPARAM)szText);
- break;
- }
- default: {
- DefWindowProc(hWndDlg, uMsg, wParam, lParam);
- break;
- }
- }
- break;
- }
- default: {
- DefWindowProc(hWndDlg, uMsg, wParam, lParam);
- break;
- }
- }
- return FALSE;
- }
- int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
- DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAINDIALOG), NULL, DialogHandle);
- return TRUE;
- }
复制代码 |
上一篇: jna调用C++下一篇: 求助 c++ 获取网页正在播放视频的 m3u8链接
|