//Нажатие на кнопку СОХРАНИТЬ ФАЙЛ
case IDC_SAVE:
ofn.lpstrFile=szFileName;
ofn.lpstrFileTitle=szTitleName;
ofn.Flags=OFN_OVERWRITEPROMPT;
GetSaveFileName(&ofn);
hList1= GetDlgItem (hWnd, PVIEW_COMPUTER);
SendMessage(hList1,EM_EXSETSEL, 0, (LPARAM)&szSel);
SendMessage(hList1,EM_REPLACESEL,0,(LPARAM)szFileName);
hList1= GetDlgItem (hWnd,IDC_EDIT1);
SendMessage(hList1,EM_EXSETSEL, 0, (LPARAM)&szSel);
SendMessage(hList1,EM_REPLACESEL,0,(LPARAM)szTitleName);
break;
ОКНО ВЫБОРА ШРИФТА
Создаем кнопку FONT и на нее вешаем код:
//Нажатие на кнопку Выбор шрифта
case IDC_FONT:
GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT), (PSTR)&logfont);
ChooseFont (&cf);
/*
установка нового фонта в приложении
*/
break;
А для того, чтобы все это заработало надо описать и инициализировать следующие переменные и структуры:
static HFONT hFont;
static LOGFONT logfont;
static CHOOSEFONT cf;
switch (wMsg)
{
// Сообщение о инициализации диалогового окна
case WM_INITDIALOG:
InitCommonControls();
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
//инициализация структуры для окна шрифтов
cf.lStructSize=sizeof(CHOOSEFONT);
cf.hwndOwner=hWnd;
cf.hDC=NULL;
cf.lpLogFont=&logfont;
cf.iPointSize=0;
cf.Flags=CF_INITTOLOGFONTSTRUCT | CF_SCREENFONTS | CF_EFFECTS;
cf.rgbColors=0L;
cf.lCustData=0L;
cf.lpfnHook=NULL;
cf.lpTemplateName=NULL;
cf.hInstance=NULL;
cf.lpszStyle=NULL;
cf.nFontType=0;
cf.nSizeMin=0;
cf.nSizeMax=0;
break;
Окно заполняет структуру logfont, из полей которой потом можно получить всю необходимую информацию о выбранном шрифте.
ОКНО ВЫБОРА ЦВЕТА
Создаем кнопку COLOR и на нее вешаем код:
//Нажатие на кнопку Выбор ЦВЕТА
case IDC_COLOR:
ChooseColor (&cc);
/*
использование выбранного цвета
*/
break;
А для того, чтобы все это заработало надо описать и инициализировать следующие переменные и структуры:
static CHOOSECOLOR cc;
static COLORREF crCustColors[16];
switch (wMsg)
{
// Сообщение о инициализации диалогового окна
case WM_INITDIALOG:
InitCommonControls();
//инициализация структуры окна выбора цвета
cc.lStructSize=sizeof(CHOOSECOLOR);
cc.hwndOwner=NULL;
cc.hInstance=NULL;
cc.rgbResult=RGB(0x80, 0x80, 0x80,);
cc.lpCustColors=crCustColors;
cc.Flags=CC_RGBINIT | CC_FULLOPEN;
cc.lCustData=0L;
cc.lpfnHook=NULL;
cc.lpTemplateName=NULL;
break;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
}
Окно заполняет структуру crCustColors, из полей которой потом можно получить всю необходимую информацию о выбранном цвете.
ОКНА ПОИСКА и ЗАМЕНЫ
Дополнительные переменные:
char szFindText[256];
char szReplText[256];
FINDREPLACE fr;
Инициализация структуры для окна поиска:
fr.lStructSize=sizeof(FINDREPLACE);
fr.hwndOwner=hWnd;
fr.hInstance=NULL;
fr.Flags=FR_HIDEUPDOWN | FR_HIDEMATCHCASE | FR_HIDEWHOLEWORD;
fr.lpstrFindWhat=szFindText;
fr.lpstrReplaceWith=NULL;
fr.wFindWhatLen=sizeof(szFindText);
fr.wReplaceWithLen=0;
fr.lCustData=0;
fr.lpfnHook=NULL;
fr.lpTemplateName=NULL;
Обработка нажатия на клавишу FIND
case IDC_FIND:
FindText (&fr);
/* здесь собственно выполнение поиска */
break;
Окно выбора принтера
//Дополнительные переменные:
static PRINTDLG pd;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
//Инициализация структуры для окна ПРИНТЕРА:
pd.lStructSize=sizeof(PRINTDLG);
pd.hwndOwner=hWnd;
pd.hDevMode=NULL;
pd.hDevNames=NULL;
pd.hDC =NULL;
pd.Flags=PD_ALLPAGES | PD_COLLATE | PD_RETURNDC;
pd.nFromPage=0;
pd.nToPage=0;
pd.nMinPage=0;
pd.nMaxPage=0;
pd.nCopies=1;
pd.hInstance=NULL;
pd.lCustData=0L;
pd.lpfnPrintHook=NULL;
pd.lpfnSetupHook=NULL;
pd.lpPrintTemplateName=NULL;
pd.lpSetupTemplateName=NULL;
pd.hPrintTemplate=NULL;
pd.hSetupTemplate=NULL;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
//Обработка нажатия на клавишу PRINT:
case IDC_PRINT:
PrintDlg (&pd);
break;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.