📄 windowiii.pb
字号:
;//////////////////////////////////
; Amlinger
; by 2008 02 11
;描述:创建模态的对话框
;目标:深入了解WIN API 函数的对话框创建的方法
; 可以自行创建个性化的窗口
;//////////////////////////////////
;//// ModalDialogBoxes ////
;这一个我讲不好,也不知道如何讲给大家,所以只好只加一些
;中文的注解了.
;
;定义模版结构
Structure DLG_TEMPLATE
;样式
style.l
;扩展样式
dwExtendedStyle.l
;这个我也不知道
;那位英文好一点可以看看MSDN中是怎么讲的
;Specifies the number of items in the dialog box.
cdit.w
;坐标系
x.w
y.w
cx.w
cy.w
;菜单项
menu.w
;类名
class.w
;窗口标题
title.l
EndStructure
;初始化窗口样式及显示位置
dlg.DLG_TEMPLATE
dlg\style=#WS_POPUP | #WS_BORDER | #WS_SYSMENU | #DS_MODALFRAME | #WS_CAPTION | #DS_CENTER
dlg\cx=200
dlg\cy=100
;消息处理
Procedure DlgProc(hWnd, uMsg, wParam, lParam)
;分类消息
Select uMsg
;对话框处始化消息
Case #WM_INITDIALOG
;建立窗口对象
CreateGadgetList(hWnd)
;建立按钮对象
ButtonGadget(0,20,20,100,22,"OK")
ButtonGadget(1,20,50,100,22,"Cancel")
ButtonGadget(2,20,80,100,22,"Quit")
;设置标题
SetWindowText_(hWnd,"Dialog Title")
;任一按钮消息则退出
Case #WM_COMMAND
EndDialog_(hWnd,wParam&$FFFF)
EndSelect
ProcedureReturn 0
EndProcedure
;显示PureBasic创建的窗口
OpenWindow(0, 325, 185, 600, 330, "Proper Dialogs", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar )
;显示Win Api创建的窗口
;这个DialogBoxIndirectParam 函数参考MSDN里的说明吧
;DialogBoxIndirectParam (0,窗口结构,父窗口句柄,回调过程处理过程,初始化消息值)
;
Debug DialogBoxIndirectParam_(0,dlg,WindowID(0),@DlgProc(),0)
Repeat
event.l=WaitWindowEvent()
Select event
Case #PB_Event_Gadget
Debug EventGadget()
EndSelect
Until event=#PB_Event_CloseWindow
End
; IDE Options = PureBasic 4.10 (Windows - x86)
; CursorPosition = 10
; Folding = -
; EnableXP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -