//========================================================================
//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);
}