123456

 

2011年4月17日

radio button的用法

摘要: 先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了?关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上,第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck();返回1表示选上 阅读全文

posted @ 2011-04-17 21:11 hgy413 阅读(181) 评论(0) 推荐(0) 编辑

custom control

摘要: 学习了custom ctrl:1.custom ctrl控件的属性编辑器里可以看到Class项,这里要填写控件的类名。同时这个类名要进行注册.如下图:2.调用时一定要让注册函数被运行,当然方法很多,声明个变量就OK。3.其余的在OnPaint中实现效果就行了。 阅读全文

posted @ 2011-04-17 20:41 hgy413 阅读(114) 评论(0) 推荐(0) 编辑

注册窗口类

摘要: typedef struct tagWNDCLASSA { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCSTR lpszMenuName; LPCSTR lpszClassName;} WNDC... 阅读全文

posted @ 2011-04-17 20:11 hgy413 阅读(159) 评论(0) 推荐(0) 编辑

2011年3月29日

返回引用的函数

摘要: 最近用得比较多,总结了下:1.返回引用的函数 return 对象一定不能是局部变量,不然挂掉程序。2.如果1不成立,那么加上&可以直接操作返回对象本身,不加上&和普通函数(不返回引用)无区别.如: test &fun(){ test te1 ; return te1 ;} 不行,必挂 test &fun(test &te){ return te} 那么test te2 = fun(te1) ;是复制操作,和不返回引用的函数一样test&te2 = fun(te1) ;是别名操作,te2就是te1所以如果对于复杂类的成员变量,直接修改很麻烦时可以考 阅读全文

posted @ 2011-03-29 11:11 hgy413 阅读(153) 评论(0) 推荐(0) 编辑

2011年3月24日

sqlite命令行程序说明

摘要: sqlite3: 一个SQLite数据库的命令行接口 SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。本文档提供一个样使用sqlite3的简要说明。开始 启动sqlite3程序,仅仅需要敲入带有SQLite数据库名字的"sqlite3"命令即可。如果文件不存在,则创建一个新的(数据库)文件。然后sqlite3程序将提示你输入SQL。敲入SQL语句(以分号“;”结束),敲回车键之后,SQL语句就会执行。 例如,创建一个包含一个表"tb11"名字为"ex1"的SQLite 阅读全文

posted @ 2011-03-24 12:38 hgy413 阅读(159) 评论(0) 推荐(0) 编辑

c++之SQLite的增删改查

摘要: sqlite3 *db; sqlite3_stmt * stmt; const char *zTail; //创建Table sqlite3_prepare(db, "create....", -1, &stmt, &zTail); sqlite3_step(); sqlite3_finalize(stmt); //插入数据: 注意绑定时候的索引从0开始; 最好加入事务处理 sqlite3_transaction trans(db); sqlite3_prepare(db, "INSERT INTO players (name,num) VALUE 阅读全文

posted @ 2011-03-24 11:24 hgy413 阅读(497) 评论(0) 推荐(1) 编辑

2011年2月23日

跨线程使用CSocket

摘要: CSocket断言错误:ASSERT(pState->m_hSocketWindow != NULL);起因:在套接字处于连接或者发送状态时,试图关闭套接字,于是在这个断言语句处发生中断。原因分析::微软官方解释如下:http://support.microsoft.com/kb/140527/en-usThis assertion failure occurs because the CSocket object was either created or accepted in the context of another thread. The socket notificatio 阅读全文

posted @ 2011-02-23 16:53 hgy413 阅读(506) 评论(0) 推荐(0) 编辑

2011年2月22日

CreateProcess函数详解

摘要: CreateProcess说明:WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。函数原型:BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes。 LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment... 阅读全文

posted @ 2011-02-22 21:27 hgy413 阅读(340) 评论(0) 推荐(0) 编辑

2011年1月26日

CFile详解

摘要: 用了无数次CFile,最近突然发现自己对CFile却不是太熟悉,真是杯具!!!!!,所以做了个Demo验证了部分疑惑modeCreate:文件不存在就创建文件,若存在而无modeNoTruncate标志则清空文件,有modeNoTruncate标志则不清空1.文件的当前位置怎么定位?在CFile 调用modeCreate标志时(无论有无modeNoTruncate标志)构造时,当前位置是文件起始位,也就同seektobegin()/seek(0,CFile::begin) ;Open同样.每次用write写完后,会自动定位到文件结束位,同seektoend/seek(0,CFile::end) 阅读全文

posted @ 2011-01-26 09:32 hgy413 阅读(578) 评论(0) 推荐(0) 编辑

2011年1月25日

关于socket的connect超时的问题

摘要: timeval tm; fd_set set; unsigned long ul = 1; ioctlsocket(sock, FIONBIO, &ul); //设置为非阻塞模式 bool ret = false; if (connect(...) == -1) { tm.tv_set = TIME_OUT_TIME; tm.tv_uset = 0; FD_ZERO(&set); FD_SET(sock, &set); if (select(sock, NULL, &set, NULL, &tm) > 0) { getsockopt(sockfd, 阅读全文

posted @ 2011-01-25 10:34 hgy413 阅读(647) 评论(0) 推荐(0) 编辑

导航