|
|
|||
|
wm-help.net -> Электронная библиотека -> C++/C#/C -> Visual C++ / FAQ Index -> FAQ Part 1FAQ Part 1
Visual
C++ / FAQ Part 1
1. Надо отметить, если не отмечено, все опции флажками в Tools/Options/Statement completion options; 2. Оставлять комментарии _перед_ объявлением, как например: //Minimize to tray //Надо ли минимизировать в System Tray BOOL bTrayMin;
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;
cs.style &= ~(FWS_PREFIXTITLE|FWS_ADDTOTITLE);
return TRUE;
}
=== Hачало CTEST.CPP === #include
BOOL CTestApp::InitInstance()
{
HMODULE hmod = LoadLibrary("Riched32.dll"); //Загружаем
if(hmod == NULL){
AfxMessageBox("RichEdit пахать не будет");
return false;
}
CTestDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal(); // в TestDlg нарисован RichEdit
FreeLibrary(hmod); //Выгружаем
return false;
}
Используйте Win32 API - функцию GetVolumeInformation(...)
BOOL CMyWnd::Create()
{
...
CRect rect(0, 0, GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));
strClass - заpегистpиpованный оконный класс.
CreateEx(WS_EX_APPWINDOW, strClass, AfxGetAppName(), WS_SYSMENU | WS_POPUP |
WS_VISIBLE, 0, 0, rect.right, rect.bottom, NULL, NULL, 0);
...
}
или
hwnd=CreateWindowEx(0, "Name", "Title",
WS_POPUP|WS_SYSMENU, 0, 0,
GetSystemMetrics(SM_CXSCREEN),
GetSystemMetrics(SM_CYSCREEN),
0, 0, hInstance, 0);
m_Edit.SetWindowText("aaa\r\nbbb\r\nccc");
// в Edit теперь три строки. Ловим первую
char buffer[100]; // Выделяем буфер
int count = m_Edit.GetLine(0, // индекс строки
buffer, // указатель на буфер
sizeof(buffer)); // размер буфера
// Если OK, то возвращает кол-во скопированных символов
buffer[count] = 0; // Скопированная строка не заканчивается \0
m_ListBox.AddString(buffer); // В данном случае "aaa"
или с помощью MFC:
CTreeCtrl *list = (CTreeCtrl*)GetDlgItem(IDC_TREE);
list->InsertItem( string, NULL, TVI_LAST );
Потому что она создает процессы только для _запускаемых_ файлов. *.lnk-файлы не являются запускаемыми.Чтобы это сделать используйте ShellExecute. Используйте функции BeginWaitCursor() и EndWaitCursor(). Есть еще один (из многих) путь:
void CTest::MyBiiiiigFunc()
{
CWaitCursor wait;
for(int j=0; j<0x7ffffff; j++){
//......
Sleep(1000);
// И тут все время крутятся часики
}
} // А вот тут их уже нет.
При создании объекта курсор заменяется на часики дефолтным конструктором.
Деструктором - восстанавливается прежний.По умолчанию незвестным типам файлов MFC присваивает тип text/plain. Чтобы принудительно установить бинарный режим передачи, укажите тип как application/x-ofc.
|
|
| бодибилдинг | Строим Домик | RU-домены за 170 рублей | Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008. При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны! Время генерации страницы: 0.099 |