Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Прграммируя без MFC... 22.06.01 13:10
Автор: Vital Статус: Незарегистрированный пользователь
|
Я пишу программу без использования MFC и у меня возникли
некоторые вопросы:
1) Можно ли программируя на API ,без использования MFC
создать RichEdit? Если в MSVC++ компонент RichEdit помещаешь
на окно диалога, то программа перестает работать.
2)Также на чистом API можно ли создать для окон всплывающие подсказки?
3)Как вызвать стандартный диалог для выбора файла?
Спасибо
Vital
|
|
[C++] Прграммируя без MFC... 22.06.01 23:16
Автор: + <Mikhail> Статус: Elderman
|
> Я пишу программу без использования MFC и у меня возникли > некоторые вопросы: > > 1) Можно ли программируя на API ,без использования MFC > создать RichEdit? Если в MSVC++ компонент RichEdit > помещаешь > на окно диалога, то программа перестает работать. Ty dolzhen vyzyvat` function AfxInitRichEdit() pered tem kak Dialog stanovitsia vidimym. (udobnoe mesto dlia vyzyva etoi Function InitInstance()). Nuzno vyzvat` ee tolko odin raz
> 2)Также на чистом API можно ли создать для окон всплывающие > подсказки?
Chto eto takoe ?(Chto ty imeesh v vidu?)
> 3)Как вызвать стандартный диалог для выбора файла? GetOpenFileName(...)
smotri Common Dialog Box Function v MSDN
OPENFILENAME ofn; // common dialog box structure
char szFile[260]; // buffer for file name
HWND hwnd; // owner window
HANDLE hf; // file handle
// Initialize OPENFILENAME
ZeroMemory(&ofn, sizeof(OPENFILENAME));
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof(szFile);
ofn.lpstrFilter = "All\0*\0Text\0TXT\0";
ofn.nFilterIndex = 1;
ofn.lpstrFileTitle = NULL;
ofn.nMaxFileTitle = 0;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
// Display the Open dialog box.
if (GetOpenFileName(&ofn)==TRUE)
hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
0, (LPSECURITY_ATTRIBUTES) NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
(HANDLE) NULL);
http://msdn.microsoft.com/library/en-us/winui/hh/winui/commdlg3_5xt1.asp?frame=true
> Спасибо > Vital
http://msdn.microsoft.com/library/en-us/winui/hh/winui/commdlg3_5xt1.asp?frame=true
|
| |
[C++] Прграммируя без MFC... 23.06.01 00:05
Автор: Vital Статус: Незарегистрированный пользователь
|
> Ty dolzhen vyzyvat` function AfxInitRichEdit() pered tem > kak Dialog stanovitsia vidimym. (udobnoe mesto dlia vyzyva > etoi Function InitInstance()). Nuzno vyzvat` ee tolko odin > raz
Да спасибо я это уже нашел.
> > 2)Также на чистом API можно ли создать для окон > всплывающие > > подсказки? > > Chto eto takoe ?(Chto ty imeesh v vidu?)
Ну подсказки, когда ты подводишь к какому-нибудь элементу окна
появляется маленькое желтое окно с текстом - подсказкой.
|
|
третий пункт - см. GetOpenFileName() 22.06.01 17:58
Автор: Xan Статус: Незарегистрированный пользователь
|
//Ну, например так:(пример файлов от балды)
HFILE OpenScript(HWND hwnd)
{
OPENFILENAME ofn;
HFILE hf;
char szFile[FILEPT_MAX]="",
szFileTitle[FILENM_MAX]="",
szFilter[] = "MT Script files(Card Settings)\0*.mts\0Any Files\0*.*\0";
U16BIT Buf[SZBASE];
UINT cbRead;
char szBuf[280] = "Script File";
memset(&ofn, 0, sizeof ofn);
ofn.lStructSize = sizeof(OPENFILENAME);
ofn.hwndOwner = hwnd;
ofn.lpstrFilter = szFilter;
ofn.nFilterIndex = 1;
ofn.lpstrFile = szFile;
ofn.nMaxFile = sizeof szFile;
ofn.lpstrFileTitle = szFileTitle;
ofn.nMaxFileTitle = sizeof szFileTitle;
ofn.lpstrInitialDir = NULL;
ofn.Flags = OFN_PATHMUSTEXIST|OFN_FILEMUSTEXIST|OFN_OVERWRITEPROMPT|OFN_NOREADONLYRETURN;
if(!GetOpenFileName(&ofn)) return FALSE;
hf = _lopen(ofn.lpstrFile, READ_WRITE);
if(hf == HFILE_ERROR) return FALSE;
return hf;
}
|
|
|