- 博客(32)
- 资源 (4)
- 收藏
- 关注
原创 内存对齐
1〉 规则1:第一个成员放在offset为0处,其他成员放在他自己所占大小的整数倍的位置, 规则2:结构体的总大小,也就是sizeof的结果,必须是其内部最大成员的整数倍,不足要补齐。 规则3:结构体作为成员时,
2011-08-19 14:35:20
479
原创 Qt QPushButton QLabel 文字显示不全是设置成... 缩写的方式
第一种方式:按钮:int textWidth = button->fontMetrics().width(m_text); //m_text 是一个全局变量,保存按钮文字的完整版本,text()函数取出来 //的是
2010-03-16 18:02:00
9088
原创 Qt 杂记
子类化Ui类时,如果要继承标准的基类比如: QDialog , QFrame 等时,这些要放在Ui::uiObjectName之前 比如: class CMainWindow : public QDialog, public Ui::MainWindow{...}; 不然会出错,编译时会提示 文字颜色渐变: QLinearGradient li
2010-01-25 18:23:00
910
原创 Qt 笔记: Dom XML
首先确保已经在.pro文件中加载dom模块 QT += xml //加入xml模块 1> 创建xml文件,并写入.xml文件中 QDomDocument xmlDoc; //创建xml对象。QDomElement rootElement = xmlDoc.createElement("root");// 由xmlDoc创建新的节点,所有的节
2010-01-25 18:23:00
1558
原创 COM 组件编程--VC知识库读杨老师文章笔记
数据类型: 1〉HRESULT S_OK0x00000000成功S_FALSE0x00000001函数成功执行完成,但返回时出现错误E_INVALIDARG0x80070057参数有错误E_OUTOFMEMORY0x8007000E内存申请错误E_UNEXPECTED0x8000FFFF
2010-01-04 09:24:00
1576
原创 Qt 笔记: 关于 QDialogButtonBox
设置样式: QDialogButtonBox > QPushButton { color: white; } //box中的按钮文字改为白色 假定: QDialogButtonBox buttonBox;函数消息: clicked(QPushButton* button);再此消息中 使用 buttonBox->button(QDialogButtonBox::Ok) ==
2009-12-30 14:09:00
12042
原创 Qt 笔记: 多语言
1〉 使用命令: lupdate -no-obsolete main.pro 作用: 将main.pro文件内的所有源程序文件中的被tr()包装的字符串打包成.ts文件,此文件可以使用Qt的Qt Linguist打开并翻译 2〉 使用命令: lrelease main.pro 作用: 通过.ts文件生成.qm文件,此文件是Qt的QTransl
2009-12-30 13:23:00
1194
原创 Qt .pro文件格式笔记
.pro文件:TARGET = XXXX // 生成VC项目时的.vcproj文件名INCLUDEPATH += folderPath //引入的路径LIBS += -L folderPath //引入的lib文件的路径 -L:引入路径Release:LIBS += -L folderPath // release 版引入的lib文件路径Debug:LIB
2009-09-04 14:36:00
9233
原创 动态连接库dll
1> 最简单的 常规dll.只能导出函数。导出函数的写法:在生成的.cpp文件下部,或者另行创建一个.cpp文件。extern "C" __declspec(dllexport) typeReturn FuncName(typePara ){ //如果是动态连接,则这个宏必须放在函数的第一行。 //如果是静态链接,此宏可有可无。 AFX_MANAG
2009-02-16 11:45:00
703
原创 MFC数据库
环境vs2008,自带sql数据库准备: 1> 打开sql自带数据库的-〉SQL Server外围应用配置器-〉(此处配置不是很清楚,只是开始不能创建数据库,但是这里做了一些配置后,就可以通过vs2008创建数据库了)2> 在vs2008 的服务器资源管理器 中创建数据库.右键点击数据连接->创建新SQL Server数据库. 完成后再将新建的数据库添加到数据源.
2009-02-16 09:10:00
1073
原创 socket 发送文件
服务器端: UINT CFileTransferServerView::ThreadedSendFileToRemoteRecipient(LPVOID pVoid){ CFileTransferServerView* pThis = (CFileTransferServerView*)pVoid; pThis->PostMessage( UWM_FILESEN
2008-12-31 14:48:00
1278
原创 第一个Socket程序-test
在InitDialog中新开一个线程,作为server,BOOL CSocketTestDlg::OnInitDialog(){ CDialog::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0
2008-12-24 10:04:00
1044
原创 radio button 绑定数据
基于对话框的程序,可以将添加的radiobutton绑带数据,直接获取当前所选选项, 将某个radio button的group属性设置为true,然后绑定数据,这样会将从这个radio button 开始(会按照你在对话框中添加radio button的顺序,group 属性为true的那个编号是0,紧接着这个添加的radio button编号是1,依次类推,直到遇到下一个group属性
2008-11-27 09:29:00
1803
4
原创 treeView,
环境: VS 2008拖放控件到Dialog, ID 为IDC_TREEVIEW11> 设置属性: Has Buttons /Has Lines 更改为true;这样会在控件中出现“+”“-”图标,和连线。 定义CImageList 对象,在InitDialog中初始化//xxxxDlg.hCImageList m_ImageList; //xxx
2008-11-17 15:46:00
529
原创 ShellExecute,第一次使用纪念
#include "Windows.h"#include #include #include using namespace std;int main(){ long ret=-1;//ERROR_SUCCESS if succeed HKEY key; ret=RegOpenKeyEx(HKEY_LOCAL_MACHINE,L"SOFTWARE//subkey//subkey....
2008-09-24 09:00:00
497
原创 操作ini文件
写BOOL WritePrivateProfileString(LPCTSTR lpAppName, //是INI文件中的一个字段名.LPCTSTR lpKeyName, //是lpAppName下的一个键名,通俗讲就是变量名.LPCTSTR lpString, //是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.LPCTS
2008-09-04 18:28:00
465
原创 关于对话框滚动条,
要点: 使用GetScrollPos() 获取当前滑块位置,使用SetScrollPos()设置滑块位置,使用ScrollWindow()来滚动客户区, 不要使用OnHScroll() 方法中的pScrollBar参数,因为对话框好像m_HWnd变量是空,所以这个参数的方法pScrollBar->GetScrollPos() / pScrollBar->SetScrollPos
2008-08-22 16:55:00
3522
转载 关于Static关键字
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include
2008-07-31 10:37:00
526
转载 C++ 的几个误区
一> 标准中没有void main() /void main(int avgc,char** avgv) 只能定义 : int main( void ) int main( int argc, char *argv[] )二> 1 为什么 fflush(stdin) 是错的 首先请看以下程序:
2008-07-04 13:45:00
1252
原创 文本框(CEdit)控件字体颜色
重写OnCtlColor()方法,这个方法是在控件重绘时调用,用来更改颜色,HBRUSH CDialogTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// 自动生成 if(pWnd->GetDlgCtrlID(
2008-05-28 11:25:00
974
转载 数据转换
-------------------------------------------------------------------------------- 读者层次:初学 刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。 我们先定义一些常见类型变量借以说明 int i = 100; long l = 2001; float
2008-05-16 15:11:00
494
原创 123%
CString m_testString;int m_nTestInt=123;m_testString.format("%d%%",m_nTestInt ); AfxMessageBox(m_testString);//cout : 123%
2007-11-08 10:37:00
528
原创 枚举串口
void GetAllComPorts(CString *pPortList){ //int k=0; long lReg; HKEY hKey; DWORD MaxValueLength; DWORD dwValueNumber; lReg=RegOpenKeyExA(HKEY_LOCAL_MACHINE, "HARDWARE//DEVICEMAP//SERI
2007-10-10 18:07:00
577
原创 关于坐标转换
ScreenToClient();ClientToScreen();Converts the client coordinates of a given point or rectangle on the display to screen coordinates.void ClientToScreen( LPPOINT lpPoint ) const;void
2007-09-30 10:36:00
577
原创 关于MAKEINTRESOURCE宏
MAKEINTRESOURCE宏将一个整形资源ID 转换为一个LPTSTR 数据类型的ID,给类型ID与接受字符串类型资源ID的函数兼容。
2007-09-29 16:24:00
840
原创 关于对话框控件与变量绑定,
学习mfc几个月终于知道了怎样将edit控件的值传递近来,以前一直用 getDlgItem , getDlgItemText 两个方法, 现在感觉好傻的方法,哈哈, 1 将控件拖放在对话框上,2 右键单击控件,选择 “添加变量“3 在出现的界面上:在类别列表框中选择:value,不同的控件对应不同的值类型,可以选择,有些则不可以选择,只有一种传入值,4 给变量一个名字,
2007-08-03 09:07:00
1639
原创 关于宽字符
这几天在网上查了好多东西,就是为了明白款字符输入输出流的使用,总算还有点收获,1) 宽字符输出: #include #include #include #include using namespace std; void main(){
2007-01-24 14:08:00
1278
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人