要怎么addstring windows api
- C/C++ code
/*.rc 文件*/TEMP DIALOGEX 0, 0, 316, 185STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENUCAPTION "Dialog"CLASS "temp"FONT 8, "MS Shell Dlg", 400, 0, 0x1BEGIN DEFPUSHBUTTON "确定",IDOK,205,164,50,14 PUSHBUTTON "取消",IDCANCEL,259,164,50,14 COMBOBOX IDC_COMBO1,166,25,111,82,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP LISTBOX IDC_LIST1,37,70,108,75,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_COMBO2,197,70,86,63,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL | WS_TABSTOP LISTBOX IDC_LIST2,78,25,45,24,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOPEND/*.c文件*/#include <Windows.h>#include "resource.h"LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam);TCHAR szString[]=TEXT("30");int WINAPI WinMain( HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd ){ static TCHAR szAppName[]=TEXT("temp"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.cbClsExtra=0; wndclass.cbWndExtra=DLGWINDOWEXTRA; wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.hCursor=LoadCursor(NULL,IDC_ARROW); wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION); wndclass.hInstance=hInstance; wndclass.lpfnWndProc=WndProc; wndclass.lpszClassName=szAppName; wndclass.lpszMenuName=NULL; wndclass.style=CS_HREDRAW | CS_VREDRAW; if(!RegisterClass(&wndclass)) { MessageBox(NULL,TEXT("注册失败"),szAppName,MB_ICONERROR); return 0; } hwnd = CreateDialog (hInstance, szAppName,0,NULL); ShowWindow(hwnd,nShowCmd); UpdateWindow(hwnd); while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam;}LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){ switch(message) { case WM_CREATE: SendMessage(GetDlgItem(hwnd,IDC_COMBO1),CB_ADDSTRING,0,(LPARAM)szString); SendMessage(GetDlgItem(hwnd,IDC_COMBO1),CB_ADDSTRING,0,(LPARAM)szString); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd,message,wParam,lParam);}这个为什么combobox1里没加东西了,SendMessage(GetDlgItem(hwnd,IDC_COMBO1),CB_ADDSTRING,0,(LPARAM)szString);后还要进行什么操作吗?
[解决办法]
hwnd = CreateDialog (hInstance, szAppName,0,NULL);
要在case WM_CREATE:
中。
WinMain中要Create主窗口。