EVC编程经验点滴(二)

王朝vc·作者佚名  2006-10-25
窄屏简体版  字體: |||超大  

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

//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- 王朝網路 版權所有 導航