| 订阅 | 在线投稿
分享
 
 
 

EVC编程经验点滴(二)

来源:互联网网民  宽屏版  评论
2006-10-25 07:08:19

//========================================================================

//TITLE:

// EVC编程经验点滴(二)

//AUTHOR:

// norains

//DATE:

// Monday 23-October-2006

//========================================================================

1.在对话框中标题栏添加OK按钮

如果是是新建对话框的话,往往标题栏没有"OK"按键,并且在EVC中也没有相关的设置选项.如果需要在标题栏中显示"OK",可以用文本文件打开资源文件.rc,然后在STYLE下添加代码行:EXSTYLE WS_EX_APPWINDOW | 0x80000000L

依我的理解,后面的0x80000000L应该是在模式对话框中按下"OK"键返回的消息.在这里,0x80000000L是用evc创建程序时默认有OK键的对话框里的模板文件中的值

2.一段将某个文件夹中的文件和文件夹添加到列表控件的代码

TCHAR szAddString[MAX_PATH_LENGTH];

WIN32_FIND_DATA fd;

HANDLE hFind;

hFind=FindFirstFile(szFindDir,&fd);

if(hFind!=INVALID_HANDLE_VALUE)

{

do{

if(fd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY)

{

//it must be directory

PostMessage(hList,LB_ADDSTRING,0,(LPARAM)(LPCTSTR)fd.cFileName);

}

else

{

//it is file

PostMessage(hList,LB_ADDSTRING,0,(LPARAM)(LPCTSTR)fd.cFileName);

}

}while(FindNextFile(hFind,&fd));

}

3.List Control的BUG

如果List Control的style中的view选择的是Small Icon,并且Align选择的是Top,那么这里将会出现一个小BUG,就是我们看不到垂直的滚动条.这个是evc的BUG,可以用文本编辑器打开.rc文件,在List控件的属性加上LVS_ALIGNTOP即可.

4.笔针调整的SHELL

直接调用TouchCalibrate()函数即可

5.读取文件时容易犯的一个小问题

在下面这段代码里,TCHAR szBuf[2] 需要初始化为0,否则字符串将显示不出.这是因为读取的文件流中,即使读到文件的最后,也不会有字符串结束符'\0'.

//Get the old back light level from the file

HANDLE hFile = CreateFile(SAVE_FILE,

GENERIC_READ,

FILE_SHARE_READ,

NULL,

OPEN_EXISTING,

FILE_ATTRIBUTE_NORMAL,

NULL

);

if(hFile==INVALID_HANDLE_VALUE )

{

g_iBkLevel=DEFAULT_BACKLIGHT_LEVEL;

}

else

{

TCHAR szBuf[2]={0}; //这里要全部初始化为0

DWORD dwRead;

BOOL bRes = ReadFile(hFile,

szBuf,

1,

&dwRead,

NULL

);

if(bRes = FALSE)

{

g_iBkLevel=DEFAULT_BACKLIGHT_LEVEL;

}

else

{

g_iBkLevel=_wtoi(szBuf);

}

CloseHandle(hFile);

}

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
//======================================================================== //TITLE: // EVC编程经验点滴(二) //AUTHOR: // norains //DATE: // Monday 23-October-2006 //======================================================================== 1.在对话框中标题栏添加OK按钮 如果是是新建对话框的话,往往标题栏没有"OK"按键,并且在EVC中也没有相关的设置选项.如果需要在标题栏中显示"OK",可以用文本文件打开资源文件.rc,然后在STYLE下添加代码行:EXSTYLE WS_EX_APPWINDOW | 0x80000000L 依我的理解,后面的0x80000000L应该是在模式对话框中按下"OK"键返回的消息.在这里,0x80000000L是用evc创建程序时默认有OK键的对话框里的模板文件中的值 2.一段将某个文件夹中的文件和文件夹添加到列表控件的代码 TCHAR szAddString[MAX_PATH_LENGTH]; WIN32_FIND_DATA fd; HANDLE hFind; hFind=FindFirstFile(szFindDir,&fd); if(hFind!=INVALID_HANDLE_VALUE) { do{ if(fd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY) { //it must be directory PostMessage(hList,LB_ADDSTRING,0,(LPARAM)(LPCTSTR)fd.cFileName); } else { //it is file PostMessage(hList,LB_ADDSTRING,0,(LPARAM)(LPCTSTR)fd.cFileName); } }while(FindNextFile(hFind,&fd)); } 3.List Control的BUG 如果List Control的style中的view选择的是Small Icon,并且Align选择的是Top,那么这里将会出现一个小BUG,就是我们看不到垂直的滚动条.这个是evc的BUG,可以用文本编辑器打开.rc文件,在List控件的属性加上LVS_ALIGNTOP即可. 4.笔针调整的SHELL 直接调用TouchCalibrate()函数即可 5.读取文件时容易犯的一个小问题 在下面这段代码里,TCHAR szBuf[2] 需要初始化为0,否则字符串将显示不出.这是因为读取的文件流中,即使读到文件的最后,也不会有字符串结束符'\0'. //Get the old back light level from the file HANDLE hFile = CreateFile(SAVE_FILE, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if(hFile==INVALID_HANDLE_VALUE ) { g_iBkLevel=DEFAULT_BACKLIGHT_LEVEL; } else { TCHAR szBuf[2]={0}; //这里要全部初始化为0 DWORD dwRead; BOOL bRes = ReadFile(hFile, szBuf, 1, &dwRead, NULL ); if(bRes = FALSE) { g_iBkLevel=DEFAULT_BACKLIGHT_LEVEL; } else { g_iBkLevel=_wtoi(szBuf); } CloseHandle(hFile); }
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有