C语言这里哪出错了,对话框出不来,加printf调试也输出不了

C语言这里哪出错了,对话框出不来,加printf调试也输出不了,第1张

这是一个windows的GUI程序,关键的问题是运行环境不知道是不是对的。

如果是visual C++里面的GUI程序,入口函数并不是main(),这个是windows框架帮你做掉了。

windows的GUI入口函数是WinMain()

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nCmdShow)

{

//创建模态对话框

/ 需要把整型转换成字符串类型 /

/ 没有父窗口 值为 NULL /

DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN_DLG), NULL, MainDlgProc);

return 0;

}

然后调试的方法也不要用printf。

switch (uMsg)

{

// 对话框初始化消息

case WM_INITDIALOG:

// 此时对话框还没有显示 但是对话框已经创建好了

MessageBox(hWnd, L"初始化", L"提示", MB_OK);

// 设置对话框标题 [如果对话框没有设置好 不能给对话框设置标题]

SetWindowText(hWnd,L"这是一个对话框程序");

break;

}

可以直接用MessageBox可以d出消息框。

其实无论在什么平台下,GUI应用程序的基本开发方法都是相似的。一般都包括下面这样四个步骤:

①创建容器

首先要创建一个GUI应用程序,需要创建一个用于容纳所有其它GUI组件元素的载体,Java中称为容器。典型的包括窗口(Window)、框架(Frame/JFrame)、对话框(Dialog/JDialog)、面板(Panel/JPanel)等。只有先创建了这些容器,其它界面元素如按钮(Button/JButton)、标签(Label/JLabel)、文本框(TextField/JTextField)等才有地方放。 ②添加组件

为了实现GUI应用程序的功能,为了与用户交换,需要在容器上添加各种组件/控件。这需要根据具体的功能要求来决定用什么组件。例如,如果需要提示信息,可用标签(Label/JLabel);如果需要输入少量文本,可用文本框(TextField/JTextField);如果需要输入较多文本,可用文本区域(TextArea/JTextArea);如果需要输入密码,可用密码域(JPasswordField)等等。

③安排组件

与传统的Windows环境下的GUI软件开发工具不同,为了更好地实现跨平台,Java程序中各组件的位置、大小一般不是以绝对量来衡量,而是以相对量来衡量。例如有时候,程序的组件的位置是按"东/East"、"西/West"、"南/South"、"北/North"、"中 /Center"这种方位来标识的。因此,在组织界面时,除了要考虑所需的组件种类外,还需要考虑如何安排这些组件的位置与大小。这一般是通过设置布局管理器(Layout Manager)及其相关属性来实现的。事实上上述按方位来安排组件就是采用了Java中多种布局管理器里的BorderLayout布局管理器。

④处理事件

为了完成一个GUI应用程序所应具备的功能,除了适当地安排各种组件产生美观的界面外,还需要处理各种界面元素事件,以便真正实现与用户的交换,完成程序的功能。在Java程序中这一般是通过实现适当的事件监听者接口来完成的。比如如果需要响应按钮事件,就需要实现 ActionListener监听者接口;如果需要响应窗口事件,就需要实现WindowListener监听者接口。

可以生成GUI的语编程语言有很多,GUI是图形用户接口的通称,你可以用汇编、C、C,basic,VB,VC,JAVA等写出图形界面的应用程序。

用C写图形界面是比较困难,界面上的任何图形都需要做多次处理,如用BMP就很麻烦。但可以使用集成的开发环境,如VC就会好一些,当然用BC也可以。这个要看个人的使用习惯了。

Python进行GUI开发的库其实很多,下面我简单介绍几个不错的库,感兴趣的朋友可以自己尝试一下,实验环境win10+python36+pycharm50,主要内容如下:

tkinter

这个就不用多说了,python自带的GUI开发标准库,对于开发小型简单的应用来说,完全可以了,开源、跨平台,使用起来非常方便,下面我简单测试一下,主要代码如下:

点击运行程序,效果如下,一个窗口一个Label标签:

easygui

这个是基于tkinter的一个窗口GUI库,可以快速创建窗口对话框,包括常见的登陆对话框、注册对话框等,下面我简单介绍一下这个库的安装和使用:

1首先,安装easygui,这个直接在cmd窗口输入安装命令“pipinstalleasygui”就行,如下:

2安装完成后,我们就可以直接编写代码进行测试了,主要代码如下,非常简单:

点击运行这个程序,效果如下:

kivy

这是一个跨平台的GUI应用程序开发库,可以用来开发安卓、苹果应用,一套程序,可以处处运行,下面我简单介绍一下这个库的安装和使用:

1首先,安装kivy,这个直接按官方教程安装就行,如下:

2安装完成后,就可以直接编写代码进行测试了,主要代码如下,非常简单:

点击运行程序,效果如下,这里你可以将其打包为手机应用,安装到手机上:

wxpython

这也是一个免费、跨平台的PythonGUI开发库,相比较前面的tkinter来说,功能更为强大,控件也更多,下面我简单介绍一下这个库的安装和使用:

1首先,安装wxpython,这个也直接在cmd窗口输入命令“pipinstallwxpython”就行,如下:

2安装完成后,我们就可以直接编写相关代码进行测试了,主要代码如下,非常简单,一个简单的文本编辑器:

点击运行这个程序,效果如下:

pyqt

这个Qt的一个Python接口库,借助于Qt强大的用户界面,Python也可以快速开发出GUI程序,组件更多,也更方便,只要你有一定的Qt基础,很快就能掌握这个库的使用,下面我简单介绍一下这个库的安装和使用:

1首先,安装pyqt,这个直接在cmd窗口输入安装命令“pipinstallpyqt5”就行,如下,安装需要稍微等待一会儿:

2安装完成后,我们就可以直接编写代码进行测试了,如下,一个简单的计算器:

点击运行这个程序,效果如下:

至此,我们就介绍完了这5个PythonGUI库。总的来说,这5个库使用起来都非常不错,如果你的应用界面比较简单,功能要求不高,可以选择tkinter和easygui,如果界面比较复杂,功能要求比较复杂,可以考虑使用wxpython或pyqt,当然,你也可以使用其他GUI库,像pygame等,根据实际项目需求而定,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

您好,emWin时钟指针的旋转是基于它的角度和时间的。它的角度是指它从12点开始旋转的角度,而时间是指它每秒旋转的角度。因此,要让emWin时钟指针旋转,需要设置它的角度和时间。首先,您需要调用GUI_SetAngle()函数来设置指针的角度,然后调用GUI_SetTime()函数来设置指针每秒旋转的角度。最后,调用GUI_Start()函数来启动指针的旋转。

SDC是一个标准,符合ASIC时序验证的语法。Altera在通用的SDC标准上增加了自己的一些命令使得用起来更方便,比如derive_pll_clocks。

编辑一个SDC文件的方法有几种: 1 手动输入。这个需要对语法熟悉; 2 用TimeQuest下的GUI。GUI界面 *** 作,简单易懂; 3 更简单的一种方法是,在assignments->TimeQuest Timing Analyzer Wizard下,用更简单的GUI来产生SDC时序约束文件(几乎跟Classic的 *** 作方式一样,并且更加简单、直观,有波形指示)。

在编译器下建立一个新项目,也可以利用已有项目。此过程中需要注意,晶振的选择,因为for循环里指令的执行时间和晶振有直接关系,本例中晶振使用110592M。

编写一段关于延时的函数,主要利用for循环,代码如下:

void delay_ms(unsigned int ms)

{undefined

unsigned int i;

unsigned char j;

for(i=0;i

{undefined

for(j=0;j<200;j++);

for(j=0;j<102;j++);

}

}

其中ms是输入参数,如果输入1,就是要求程序延时1ms。

j变量是调整程序运行的时间参数。调整j的数值,使1次循环的时间在1ms。

将此程序编译通过,然后利用软件仿真,调整时间。

以上就是关于C语言这里哪出错了,对话框出不来,加printf调试也输出不了全部的内容,包括:C语言这里哪出错了,对话框出不来,加printf调试也输出不了、java中GUI的实现方式是、如何用C语言编写GUI的软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9714645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存