和 GTK、QT、SWT、SWING 一样,wxWidgets 也是一种开源跨平台的 GUI 框架。因 wxWidgets 和 MFC 有些渊源,有些亲近,故要体验一番 wxWidgets。现在最新版是 2.8.7。wxWidgets 程序还可运行于 Windows CE、Palm OS。不但包括 GUI,还有 Media、Socket、ODBC 等库。
详情请见 wxWidgets 的官方网站是:http://www.wxwidgets.org
本篇介绍 VC++6.0 下如何搭建 wxWidgets 的开发环境,包括编译 wxWidgets 源码和配置 VC 环境。所用 wxWidgets 的版本是 2.8.7。
第一步:下载并安装 wxWidgets
在 http://www.wxwidgets.org/downloads/ 下载到 wxWidgets 源码。 Read More
在上篇 VC 中用 IPicture 在窗口中显示图片文件 讲到的是 VC 窗口(或控件)中显示本地图片文件,本文延伸这一话题,来演示如何显示网上的图片,即提供图片的 HTTP URL 地址,把它显示到 VC 的界面中来。
本文参考我原来写的一篇日志 VC中使用CInternetSession抓取网页内容 来修改上篇代码中用来显示图片的函数:HRESULT ShowPic(char *lpstrFile,HWND hWnd)。把研究过的东西整理记下来总是好处多多,瞧,至少现在展开其他话题,可参考时便能信手拈来。
重新实现的函数 HRESULT ShowPic(char *lpstrFile,HWND hWnd) 代码如下: Read More
想做个东西,用VC,希望是在程序界面上能把指定 URL 的图片显示出来,还没找到如何显示 HTTP 资源的图片,先还是让本地图片能在 VC 的窗口(包括各种控件)中显示出来吧。在网上搜索了一番,大家代码都如出一辙,我也不能生搬硬载,不由又亲手实践了一下,并连同原来学过的 Window SDK 做窗口程序也复习了一遍,没有使用到 MFC,只需存成单个源文件,甚至用 CL 命令来编译都无须打开 VC 的,在 VC6 中测试通过。
效果图如下: Read More
一切尽在代码中,代码中也太多了if/else,可以对它进行更好的函数及至类的封装,规范的处理好异常。 Read More- VC代码收集
一、改变视图背景色:
在CView的OnDraw函数中添写如下一段程序代码:
void CFileNameView::OnDraw(CDC* pDC)
{
CFileNameDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CRect rectClient;
CBrush brushBkColor;
GetClientRect(rectClient);
brushBkColor.createSolidBrush(RGB(255,0,0)); //颜色设置 Read More - 在 VC 中用 WinInet 的 CInternetSession::OpenURL(url),得到一个 CFile,读取其中的内容即可,详细代码如下
1#include <stdio.h> 2#include <afxinet.h> 3 4int main(int argc, char* argv[]) 5{ 6 CInternetSession session("HttpClient"); 7 char * url = " http://www.imobile.com.cn/simcard.php?simcard=1392658"; 8 CHttpFile* pfile = (CHttpFile *)session.OpenURL(url); 9 10 DWORD dwStatusCode; 11 pfile -> QueryInfoStatusCode(dwStatusCode); 12 if(dwStatusCode == HTTP_STATUS_OK) 13 { 14 CString content; 15 CString data; 16 while (pfile -> ReadString(data)) 17 { 18 content += data + "\r\n"; 19 } 20 content.TrimRight(); 21 printf(" %s\n " ,(LPCTSTR)content); 22 } 23 pfile -> Close(); 24 delete pfile; 25 session.Close(); 26 27 return 0 ; 28}
其他如不从缓存中读取内容及如何使用代理连接现在就不说了,可以参考下面的链接,或者下次补上。另外不妨看看 Java 是如何读取 URL 内容的,更简单
Read More - 忽又想,编写桌面软件 Java 始终是跟不上步伐,VC 能非常好的平衡开发与运行的效率。 掌握一个 IDE,想提高开发上的效率,记住常用的快捷键是很有必要的,真正的对战类游戏高手无不娴熟于键盘的微操作,那种叫嚣着真正的程序员是用记事本编程实在听来让人冷峻不经。于是也就有了下文,在网上搜来的 VC 常用快捷键 Read More
用 VC6 的 MFC AppWizard 生成的窗口程序,窗口标题或者标签用中文,编译执行发现中文成乱码了,奇怪,以前怎么没有出现这种问题呢?
在网上找找资料才知道,原来我现在用的是非中文 XP 操作系统,在用向导生成窗口程序的过程中,没有中文语言的选项。不知道为什么,我的操作系统的区域都是设置成的中国,语言也是设成的简体中体,都没错的,VC6 安装程序看我的界面不是中文就不给我装上中文语言支持的动态库。 Read More
我安装了VC 6.0后,写一段简单的"Hello World"程序,点击 Build 按钮,信息栏里只出现"Compiling...,Error spawning cl.exe"错误提示。原来那么久可没碰到过这种错误,一下子有点蒙了,没法,很容易就有产生重新安装VC来解决。
重新安装的话太麻烦,还是先到网上找找有没有相应的解决方案,把出错提示放网上google一下,就查到http://www.mscenter.edu.cn/blog/k_eckel/articles/3016.html 的一篇文章提供了方法。 Read More- 在VC++6.0中运行控制台程序后,执行完后控制台会出现 Press any key to continue . . . 按任意键,控制台才消失。
但是换到在VC++7.0 (VS.NET的VC++)中编写的控制台程序,点击运行后,默认情况下马上把控制台关了,让你看不到输出结果。那么在这个IDE下如何让 Press any key to continue . . . 再次出现呢?
C++中实现"任意键暂停"对于要直接查看输出结果时很重要的,比如你用的是BC编辑器,不能像VC那样自己实现程序运行完后暂停,而是跳回到编辑状态,根本看不到运行结果。
有的人会用#include<conio.h>加上getch();来实现,其实完全不需要的……
用VC或BC编辑C++程序,不用像C语言中加入头文件conio.h ,然后用getch()来实现任意键暂停。
用system("pause");这个语句就可以,不过如果你想改变文字还是要用上面的办法。
其实在C语言中的stdlib.h的头文件中就有这个函数。