代码;
#include <resource.h>
#define DLG_MAIN 1
#define IDC_TITLETEXT 101
DLG_MAIN DIALOG 193, 180, 130, 100
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME
CAPTION "对话框子窗口控制示例"
FONT 9, "宋体"
{
COMBOBOX IDC_TITLETEXT, 10, 20, 105, 70, CBS_DROPDOWNLIST | WS_TABSTOP
}
.386
.model flat, stdcall
option casemap :none
include G:\masm32\include\windows.inc
include G:\masm32\include\user32.inc
include G:\masm32\include\kernel32.inc
include G:\masm32\include\gdi32.inc
includelib G:\masm32\lib\user32.lib
includelib G:\masm32\lib\kernel32.lib
includelib G:\masm32\lib\gdi32.lib
DLG_MAIN equ 1
IDC_TITLETEXT equ 101
.data?
hInstance dd ?
.const
szText1 db '组合框文本1',0
szText2 db '组合框文本2',0
szText3 db '组合框文本3',0
szText4 db '组合框文本4',0
szText5 db '组合框文本5',0
.code
_ProcDlgMain proc uses ebx edi esi hWnd,wMsg,wParam,lParam
mov eax,wMsg
.if eax == WM_CLOSE
invoke EndDialog,hWnd,NULL
.elseif eax == WM_INITDIALOG
; 初始化组合框
invoke SendDlgItemMessage,hWnd,IDC_TITLETEXT,CB_ADDSTRING,0,addr szText1
invoke SendDlgItemMessage,hWnd,IDC_TITLETEXT,CB_ADDSTRING,0,addr szText2
invoke SendDlgItemMessage,hWnd,IDC_TITLETEXT,CB_ADDSTRING,0,addr szText3
invoke SendDlgItemMessage,hWnd,IDC_TITLETEXT,CB_ADDSTRING,0,addr szText4
invoke SendDlgItemMessage,hWnd,IDC_TITLETEXT,CB_ADDSTRING,0,addr szText5
invoke SendDlgItemMessage,hWnd,IDC_TITLETEXT,CB_SETCURSEL,0,0
.elseif eax == WM_COMMAND
.else
mov eax,FALSE
ret
.endif
mov eax,TRUE
ret
_ProcDlgMain endp
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULL
invoke ExitProcess,NULL
end start
构建如下;
运行;