原文出处:http://blog.csdn.net/saifeng/archive/2007/09/11/1781041.aspx
对话框有模式对话框和非模式对话框,一般情况下大家都会用到模式对话框
调用方法为:
一.有模式对话框:
1. int DialogBox(
HINSTANCE hInstance,
LPCTSTR lpTemplate,
HWND hWndParent,
DLGPROC lpDialogFunc
);
This function creates a modal dialog box from a dialog box template resource. DialogBox does not return control until the
specified callback function terminates the modal dialog box by calling the EndDialog function.
2. int DialogBoxParam(
HINSTANCE hInstance,
LPCTSTR lpTemplateName,
HWND hWndParent,
DLGPROC lpDialogFunc,
PARAM dwInitParam
);
This function creates a modal dialog box from a dialog box template resource. Before displaying the dialog box, the
function passes an application-defined value to the dialog box procedure as the lParam parameter of the WM_INITDIALOG
message. An application can use this value to initialize dialog box controls.
3. int DialogBoxIndirect(
HINSTANCE hInstance,
LPDLGTEMPLATE lpTemplate,
HWND hWndParent,
DLGPROC lpDialogFunc
);
This
function is defined as a macro and creates a modal dialog box from a
dialog box template in memory. The DialogBoxIndirect macro does not
return control until the specified callback function terminates the
modal dialog box by calling the EndDialog function.
4. int DialogBoxIndirectParam(
HINSTANCE hInstance,
LPCDLGTEMPLATE hDialogTemplate,
HWND hWndParent,
DLGPROC lpDialogFunc,
LPARAM dwInitParam
);
This
function creates a modal dialog box from a dialog box template in
memory. Before displaying the dialog box, the function passes an
application-defined value to the dialog box procedure as the lParam
parameter of the WM_INITDIALOG message. An application can use this
value to initialize dialog box controls.
二.无模式对话框
1. HWND CreateDialog(
HINSTANCE hInstance,
LPCTSTR lpTemplate,
HWND hWndParent,
DLGPROC lpDialogFunc
);
This function creates a modeless dialog box from a dialog box template resource.
2. HWND CreateDialogIndirect(
HINSTANCE hInstance,
LPCDLGTEMPLATE lpTemplate,
HWND hWndParent,
DLGPROC lpDialogFunc
);
This function creates a modeless dialog box from a dialog box template in memory.
3. HWND CreateDialogParam(
HINSTANCE hInstance,
LPCTSTR lpTemplateName,
HWND hWndParent,
DLGPROC lpDialogFunc,
LPARAM dwInitParam
);
This
function creates a modeless dialog box from a dialog box template
resource. Before displaying the dialog box, it passes an
application-defined value to the dialog box procedure as the lParam
parameter of the WM_INITDIALOG message. An application can use this
value to initialize dialog box controls.
4. HWND CreateDialogIndirectParam(
HINSTANCE hInstance,
LPCDLGTEMPLATE lpTemplate,
HWND hWndParent,
DLGPROC lpDialogFunc,
LPARAM lParamInit
);
This
function creates a modeless dialog box from a dialog box template in
memory. Before displaying the dialog box, the function passes an
application-defined value to the dialog box procedure as the lParam
parameter of the WM_INITDIALOG message. An application can use this
value to initialize dialog box controls.
若用到需要标签的对话框则需要用到属性表或者是TabControl 控件
我用TabControl 控件实现对话框中标签的功能。其中用到了TCITEM 结构体。
在dll程序中用DialogBox()函数可以调出对话框,标签可以正常显示,但是在exe 程序中就调不出对该对话框了,更怪的是将TabControl 空间去掉,就可以调出对话框了。不知是什么原因?
经过一段时间的查找。原来在Exe程序中,需在调出对话框之前加上InitCommonControls();
void InitCommonControls(void);
This
function registers and initializes the common control window classes.
This function is obsolete. New applications should use the
InitCommonControlsEx function.
终于可以打开带书签的对话框了。
Best Regards To All!
分享到:
相关推荐
本文将详细解析标题为“wince基于对话框添加菜单的例程源码”的示例,它是针对EVC(Embedded Visual C++)编程环境的一个实践教程,特别是在EVC++ 4.0版本中已经过编译和调试。 首先,我们要理解对话框(Dialog Box...
在Windows CE(简称WinCE)操作系统中,对话框(Dialog Box)和菜单(Menu)是构建用户界面(UI)的基本元素。本资源“dlgmenu.rar”包含了一个针对WinCE平台的对话框添加菜单的示例,这对于开发WinCE应用程序至关...
【标题】:“我的项目工程 Wince MFC 基于对话框” 【描述】:这个项目工程是关于在Windows CE(Wince)操作系统上开发的一个应用程序,它利用Microsoft Foundation Classes (MFC)库,构建了一个基于对话框的应用。...
在Windows CE(WinCE)平台上开发应用程序时,创建对话框是一种常见的交互方式,它允许用户与程序进行交互,提供输入或确认信息。本文将详细解释如何在基于WinCE的系统中,利用Embedded Visual C++(EVC)4.0来构建...
在Windows CE(Wince)操作系统中,开发人员经常会使用对话框控件来创建用户界面,以便与用户进行交互。对话框通常包含各种输入字段、按钮、复选框、单选按钮等,允许用户输入信息或作出选择。"Wince 对话框控件 源...
在Windows CE(Wince)操作系统下,开发针对ARM2410处理器的应用程序时,我们经常需要使用对话框控件来实现用户交互。"armmagic2410wince对话框控件代码"是一个专为ARM2410平台上的Windows CE系统设计的资源,它包含...
在WinCE 5.0上,我们需要手动创建这些元素,因为系统可能不提供内置的字体选择对话框控件。可以使用`System.Windows.Forms`命名空间下的控件,如`ComboBox`来展示字体列表,`NumericUpDown`控件来调整字体大小,`...
**问题描述**:在 Wince 6 创建的对话框程序中,希望按 Enter 键后调用另一个对话框并显示相关信息,但实际操作时,按 Enter 键会导致新对话框崩溃。 **解决方案**: - **改为非模式对话框**:尝试将模式对话框改...
在Windows CE 5.0(简称WinCE5.0)操作系统中,开发人员有时需要创建一个颜色选择对话框,让用户能够方便地选取所需的颜色。在本文中,我们将深入探讨如何在C#环境下实现这样一个功能,并结合提供的源码进行调试。 ...
在VC++ for Windows CE(简称VC++/WinCE)环境下,开发人员经常需要与各种数据库进行交互,以实现数据的存储和检索。本篇将详细探讨如何在VC++/WinCE下编写代码来操作数据库,主要关注的是SQLite、SQL Server CE等轻...
在Windows CE(简称WinCE)平台上开发GPS应用...综上所述,"wince_gps_vc++"项目涵盖了从硬件驱动编程到用户界面设计的多个技术领域,开发者需要具备扎实的C++基础,熟悉WinCE系统和GPS技术,以及良好的问题解决能力。
在Windows CE(简称WinCE或wince)操作系统上开发应用程序时,VC++是常见的编程工具。这个场景中,我们关注的是使用VC++实现拨打电话、发送短信以及与联系人交互的功能。下面将详细讲解这些知识点。 1. **Windows ...
这个实验是关于如何在VC++环境下,将SQLite集成到WinCE系统中进行数据库操作的实例。 首先,我们需要了解SQLite的基本概念。SQLite是一个自包含、无服务器、零配置、事务性的SQL数据库引擎。它的设计目标是在嵌入式...
在MFC(Microsoft Foundation Classes)框架中,对话框(Dialog Box)是用户界面的重要组成部分,通常用于收集用户输入或显示信息。然而,当对话框内容过多时,可能会超出其可视范围,这时就需要添加滚动条来增强...
在Windows CE(简称Wince)操作系统中,蓝牙技术被广泛应用于设备间的无线通信,尤其是在移动设备和嵌入式系统中。"wince蓝牙打印程序"是针对Wince 6.0设计的一个应用,旨在实现通过蓝牙连接搜索并链接到蓝牙设备,...
通过深入研究这个示例工程,你可以学习如何在实际项目中有效地集成和使用SQLite,从而提升你的VC++和Wince开发技能。这个压缩包为你提供了一个实践的基础,你可以在此基础上进行定制和扩展,满足具体项目的需求。在...
在Wince系统下,由于.NET Framework可能不完整,有时需要使用API函数进行编程。 2. **.NET Framework串口通信**:System.IO.Ports命名空间提供了SerialPort类,简化了串口操作。通过实例化SerialPort对象,可以轻松...
1、因为正好需要做控件demo,另外自己开发wince项目时需要的打开文件对话框 系统无法满足要求,故这次自己定制了一款文件打开对话框(仿Windows), 这个demo也可用于wince开发项目中; 2、主界面有列表框联动...
在Windows CE (WinCE)平台上,使用VC++开发TCP客户端和服务器端程序是常见的网络通信实践。TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,广泛应用于各种设备之间的数据交换。在WinCE...