词条 | 非模态对话方块 |
释义 | § 说明 当使用者觉得让对话方块保留片刻会更加方便时,使用非模态对话方块是合适的。例如,文书处理程式经常使用非模态对话方块来进行「Find」和「Change」操作。如果「Find」对话方块是模态的,那么使用者必须从功能表中选择「Find」,然後输入要寻找的字串,结束对话方块,传回到档案中,接著再重复整个程序来寻找同一字串的另一次出现。允许使用者在档案与对话方块之间进行切换则会方便得多。 您已经看到,模态对话方块是用DialogBox来建立的。只有在清除对话方块之後,函式才会传回值。在对话方块程序内使用EndDialog呼叫来终止对话方块,DialogBox传回的是该呼叫的第二个参数的值。非模态对话方块是使用CreateDialog来建立的,该函式所使用的参数与DialogBox相同。 hDlgModeless = CreateDialog ( hInstance, szTemplate, hwndParent, DialogProc) ; 区别是CreateDialog函式立即传回对话方块的视窗代号,并通常将这个视窗代号存放到整体变数中。 尽管将DialogBox这一名字用於模态对话方块而CreateDialog用於非模态对话方块是随意的,但是您可以通过非模态对话方块与普通视窗类似这一点来记住这两个函式的区别。CreateDialog可以令人想起CreateWindow函式来,而後者建立的是普通视窗。 |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。