static const WCHAR strWineFontData_a[] =
{'_','_','W','I','N','E','_','F','O','N','T','D','L','G','D','A','T','A','_','A',0};
static const WCHAR chooseFontW[] = {'C','H','O','O','S','E','_','F','O','N','T',0};
+static const WCHAR fontsizefmtW[] = {'%','d',0};
/* image list with TrueType bitmaps and more */
static HIMAGELIST himlTT = 0;
{
int j;
WCHAR buffer[20];
- static const WCHAR strFormat[] = {'%','2','d',0};
if ( (!(lpcf->Flags & CF_LIMITSIZE)) ||
((lpcf->Flags & CF_LIMITSIZE) && (h >= lpcf->nSizeMin) && (h <= lpcf->nSizeMax)))
{
- wsprintfW(buffer, strFormat, h);
+ sprintfW(buffer, fontsizefmtW, h);
j=SendMessageW(hwnd, CB_FINDSTRINGEXACT, -1, (LPARAM)buffer);
if (j==CB_ERR)
{
- j=SendMessageW(hwnd, CB_ADDSTRING, 0, (LPARAM)buffer);
+ j=SendMessageW(hwnd, CB_INSERTSTRING, -1, (LPARAM)buffer);
if (j!=CB_ERR) j = SendMessageW(hwnd, CB_SETITEMDATA, j, h);
if (j==CB_ERR) return TRUE;
}
return 1 ;
}
-static BOOL CFn_FitFontSize( HWND hDlg, int points)
+static void CFn_FitFontSize( HWND hDlg, int points)
{
+ WCHAR buffW[16];
int i,n;
- BOOL ret = FALSE;
+
/* look for fitting font size in combobox3 */
n=SendDlgItemMessageW(hDlg, cmb3, CB_GETCOUNT, 0, 0);
for (i=0;i<n;i++)
SendMessageW(hDlg, WM_COMMAND,
MAKEWPARAM(cmb3, CBN_SELCHANGE),
(LPARAM)GetDlgItem(hDlg,cmb3));
- ret = TRUE;
- break;
+ return;
}
}
- return ret;
+
+ /* no default matching size, set text manually */
+ sprintfW(buffW, fontsizefmtW, points);
+ SetDlgItemTextW(hDlg, cmb3, buffW);
}
static BOOL CFn_FitFontStyle( HWND hDlg, LONG packedstyle )
SendMessageW(hDlg, WM_COMMAND, MAKEWPARAM(cmb5, CBN_SELCHANGE),
(LPARAM)GetDlgItem(hDlg,cmb5));
}
+ /* limit text length user can type in as font size */
+ SendDlgItemMessageW(hDlg, cmb3, CB_LIMITTEXT, 5, 0);
+
if ((lpcf->Flags & CF_USESTYLE) && lpcf->lpszStyle)
{
j=SendDlgItemMessageW(hDlg,cmb2,CB_FINDSTRING,-1,(LPARAM)lpcf->lpszStyle);
return TRUE;
}
+static INT get_dialog_font_point_size(HWND hDlg, CHOOSEFONTW *cf)
+{
+ BOOL invalid_size = FALSE;
+ INT i, size;
+
+ i = SendDlgItemMessageW(hDlg, cmb3, CB_GETCURSEL, 0, 0);
+ if (i != CB_ERR)
+ size = LOWORD(SendDlgItemMessageW(hDlg, cmb3, CB_GETITEMDATA , i, 0));
+ else
+ {
+ WCHAR buffW[8], *endptrW;
+
+ GetDlgItemTextW(hDlg, cmb3, buffW, sizeof(buffW)/sizeof(*buffW));
+ size = strtolW(buffW, &endptrW, 10);
+ invalid_size = size == 0 && *endptrW;
+
+ if (size == 0)
+ size = 10;
+ }
+
+ cf->iPointSize = 10 * size;
+ cf->lpLogFont->lfHeight = -MulDiv(cf->iPointSize, GetScreenDPI(), 720);
+ return invalid_size ? -1 : size;
+}
+
/***********************************************************************
* CFn_WMCommand [internal]
*/
LPLOGFONTW lpxx=lpcf->lpLogFont;
TRACE("WM_COMMAND/cmb2,3 =%08lX\n", lParam);
+
+ /* face name */
i=SendDlgItemMessageW(hDlg,cmb1,CB_GETCURSEL,0,0);
if (i==CB_ERR)
- i=GetDlgItemTextW( hDlg, cmb1, str, 256 );
+ GetDlgItemTextW( hDlg, cmb1, str, sizeof(str)/sizeof(str[0]) );
else
{
SendDlgItemMessageW(hDlg,cmb1,CB_GETLBTEXT,i,
lpxx->lfPitchAndFamily = HIWORD(l) >> 8;
}
lstrcpynW(lpxx->lfFaceName, str, sizeof(lpxx->lfFaceName)/sizeof(lpxx->lfFaceName[0]));
+
+ /* style */
i=SendDlgItemMessageW(hDlg, cmb2, CB_GETCURSEL, 0, 0);
if (i!=CB_ERR)
{
if ((lpxx->lfWeight=LOWORD(l)) > FW_MEDIUM)
lpcf->nFontType |= BOLD_FONTTYPE;
}
- i=SendDlgItemMessageW(hDlg, cmb3, CB_GETCURSEL, 0, 0);
- if( i != CB_ERR)
- lpcf->iPointSize = 10 * LOWORD(SendDlgItemMessageW(hDlg, cmb3,
- CB_GETITEMDATA , i, 0));
- else
- lpcf->iPointSize = 100;
- lpxx->lfHeight = - MulDiv( lpcf->iPointSize ,
- GetScreenDPI(), 720);
+
+ /* size */
+ get_dialog_font_point_size(hDlg, lpcf);
+
+ /* charset */
i=SendDlgItemMessageW(hDlg, cmb5, CB_GETCURSEL, 0, 0);
if (i!=CB_ERR)
lpxx->lfCharSet=SendDlgItemMessageW(hDlg, cmb5, CB_GETITEMDATA, i, 0);
break;
case IDOK:
+ {
+ WCHAR msgW[80];
+ INT pointsize;
+
+ pointsize = get_dialog_font_point_size(hDlg, lpcf);
+ if (pointsize == -1)
+ {
+ LoadStringW(COMDLG32_hInstance, IDS_FONT_SIZE_INPUT, msgW, sizeof(msgW)/sizeof(*msgW));
+ MessageBoxW(hDlg, msgW, NULL, MB_OK | MB_ICONINFORMATION);
+ return TRUE;
+ }
+
if ( (!(lpcf->Flags & CF_LIMITSIZE)) ||
( (lpcf->Flags & CF_LIMITSIZE) &&
(lpcf->iPointSize >= 10 * lpcf->nSizeMin) &&
EndDialog(hDlg, TRUE);
else
{
- WCHAR buffer[80];
WCHAR format[80];
DWORD_PTR args[2];
LoadStringW(COMDLG32_hInstance, IDS_FONT_SIZE, format, sizeof(format)/sizeof(WCHAR));
args[0] = lpcf->nSizeMin;
args[1] = lpcf->nSizeMax;
FormatMessageW(FORMAT_MESSAGE_FROM_STRING|FORMAT_MESSAGE_ARGUMENT_ARRAY,
- format, 0, 0, buffer, sizeof(buffer)/sizeof(*buffer),
+ format, 0, 0, msgW, sizeof(msgW)/sizeof(*msgW),
(__ms_va_list*)args);
- MessageBoxW(hDlg, buffer, NULL, MB_OK);
+ MessageBoxW(hDlg, msgW, NULL, MB_OK);
}
return(TRUE);
+ }
case IDCANCEL:
EndDialog(hDlg, FALSE);
return(TRUE);
lstrcpyW(*str, This->set_filename);
return len;
}
- return FALSE;
+ return 0;
}
len = SendMessageW(hwnd_edit, WM_GETTEXTLENGTH, 0, 0);
*str = CoTaskMemAlloc(sizeof(WCHAR)*(len+1));
if(!*str)
- return FALSE;
+ return 0;
SendMessageW(hwnd_edit, WM_GETTEXT, len+1, (LPARAM)*str);
return len;
IDS_SAVE_AS "Съхрани като"
IDS_OPEN_FILE "Отвори файл"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Anomenar i Desar"
IDS_OPEN_FILE "Obre Fitxer"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Ulož pod jménem"
IDS_OPEN_FILE "Otevřít soubor"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Gem som"
IDS_OPEN_FILE "Åben fil"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Speichern als"
IDS_OPEN_FILE "Öffne Datei"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Αποθήκευση ως"
IDS_OPEN_FILE "Άνοιγμα Αρχείου"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Save As"
IDS_OPEN_FILE "Open File"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
GROUPBOX "Orientation", grp1, 8, 156, 64, 56, BS_GROUPBOX
AUTORADIOBUTTON "&Portrait", rad1, 16, 170, 52, 12, BS_AUTORADIOBUTTON
AUTORADIOBUTTON "&Landscape", rad2, 16, 190, 52, 12, BS_AUTORADIOBUTTON
- GROUPBOX "Borders", grp4, 80, 156, 152, 56, BS_GROUPBOX
+ GROUPBOX "", grp4, 80, 156, 152, 56, BS_GROUPBOX
LTEXT "L&eft:", stc15, 88, 172, 30, 8
EDITTEXT edt4, 119, 170, 36, 12, WS_TABSTOP|WS_GROUP|WS_BORDER
LTEXT "&Right:", stc16, 159, 172, 30, 8
CAPTION "Open"
FONT 8, "MS Shell Dlg"
{
- LTEXT "File name:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT
- EDITTEXT IDC_FILENAME, 226, 240, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP
+ LTEXT "File name:", IDC_FILENAMESTATIC, 160, 240, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS
+ EDITTEXT IDC_FILENAME, 226, 240, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPSIBLINGS | ES_AUTOHSCROLL
- LTEXT "Files of type:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT
+ LTEXT "Files of type:", IDC_FILETYPESTATIC, 160, 256, 60, 9, SS_RIGHT | WS_CLIPSIBLINGS
COMBOBOX IDC_FILETYPE, 226, 256, 100, 12, WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL |
- CBS_HASSTRINGS | CBS_DROPDOWNLIST
+ WS_CLIPSIBLINGS | CBS_HASSTRINGS | CBS_DROPDOWNLIST
- DEFPUSHBUTTON "&Open", IDOK, 350, 240, 40, 14, WS_GROUP
- PUSHBUTTON "Cancel", IDCANCEL, 395, 240, 40, 14
- PUSHBUTTON "&Help", pshHelp, 350, 272, 40, 14
+ DEFPUSHBUTTON "&Open", IDOK, 350, 240, 32, 14, WS_GROUP | WS_CLIPSIBLINGS
+
+ /* drop-down menu for open button */
+ CONTROL "6", psh1, "Button", WS_CHILD | WS_CLIPSIBLINGS | WS_GROUP | WS_TABSTOP |
+ BS_CHECKBOX | BS_PUSHLIKE, 342, 240, 8, 14
+
+ PUSHBUTTON "Cancel", IDCANCEL, 395, 240, 40, 14, WS_CLIPSIBLINGS
+ PUSHBUTTON "&Help", pshHelp, 350, 272, 40, 14, WS_CLIPSIBLINGS
}
IDS_SAVE_AS "Konservu"
IDS_OPEN_FILE "Malfermu Dosieron"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "&Guardar como"
IDS_OPEN_FILE "Abrir archivo"
IDS_SELECT_FOLDER "Elegir carpeta"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Tallenna nimellä"
IDS_OPEN_FILE "Avaa tiedosto"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Enregistrer"
IDS_OPEN_FILE "Ouvrir le fichier"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "שמירה בשם"
IDS_OPEN_FILE "פתיחת קובץ"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Mentés másként"
IDS_OPEN_FILE "Fájl megnyitása"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Salva con nome"
IDS_OPEN_FILE "Apri file"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "名前を付けて保存"
IDS_OPEN_FILE "ファイルを開く"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "다른 이름으로 저장"
IDS_OPEN_FILE "파일 열기"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Išsaugoti kaip"
IDS_OPEN_FILE "Atverti failą"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "&Opslaan als"
IDS_OPEN_FILE "Open bestand"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Lagre som"
IDS_OPEN_FILE "Åpne fil"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Zapisz jako"
IDS_OPEN_FILE "Otwórz plik"
IDS_SELECT_FOLDER "Wybierz folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Gravar Como"
IDS_OPEN_FILE "Abrir Ficheiro"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Păstrare în:"
IDS_OPEN_FILE "Deschidere fișier"
IDS_SELECT_FOLDER "Selecează dosar"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Сохранить как"
IDS_OPEN_FILE "Открыть файл"
IDS_SELECT_FOLDER "Выбрать папку"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Shrani kot"
IDS_OPEN_FILE "Odpri datoteko"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Uložiť ako"
IDS_OPEN_FILE "Otvoriť súbor"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Ruaj si "
IDS_OPEN_FILE "Hap"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Sačuvaj kao"
IDS_OPEN_FILE "Otvori datoteku"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Spara som"
IDS_OPEN_FILE "Öppna fil"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "บันทืก"
IDS_OPEN_FILE "แฟ้ม"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Ayrı Sakla"
IDS_OPEN_FILE "Kütük Aç"
IDS_SELECT_FOLDER "Dizin Seç"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "另存新檔"
IDS_OPEN_FILE "開啟檔案"
IDS_SELECT_FOLDER "選擇資料夾"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "Зберегти як"
IDS_OPEN_FILE "Відкрити файл"
IDS_SELECT_FOLDER "Select Folder"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
IDS_SAVE_AS "另存为"
IDS_OPEN_FILE "打开文件"
IDS_SELECT_FOLDER "选择文件夹"
+ IDS_FONT_SIZE_INPUT "Font size has to be a number."
}
/*
hr = E_FAIL;
lppd->hDevMode = update_devmode_handleA(lppd->hDevMode, dm);
- if (!hr && lppd->hDevMode) {
+ if (hr == S_OK && lppd->hDevMode) {
if (lppd->Flags & PD_RETURNDC) {
lppd->hDC = CreateDCA(dbuf->pDriverPath, pbuf->pPrinterName, pbuf->pPortName, dm);
if (!lppd->hDC)
hr = E_FAIL;
lppd->hDevMode = update_devmode_handleW(lppd->hDevMode, dm);
- if (!hr && lppd->hDevMode) {
+ if (hr == S_OK && lppd->hDevMode) {
if (lppd->Flags & PD_RETURNDC) {
lppd->hDC = CreateDCW(dbuf->pDriverPath, pbuf->pPrinterName, pbuf->pPortName, dm);
if (!lppd->hDC)
#define IDC_COLOR_GL 727
#define IDC_COLOR_BL 728
-#define IDS_FONT_SIZE 1200
-#define IDS_SAVE_BUTTON 1201
-#define IDS_SAVE_IN 1202
-#define IDS_SAVE 1203
-#define IDS_SAVE_AS 1204
-#define IDS_OPEN_FILE 1205
-#define IDS_SELECT_FOLDER 1206
+#define IDS_FONT_SIZE 1200
+#define IDS_SAVE_BUTTON 1201
+#define IDS_SAVE_IN 1202
+#define IDS_SAVE 1203
+#define IDS_SAVE_AS 1204
+#define IDS_OPEN_FILE 1205
+#define IDS_SELECT_FOLDER 1206
+#define IDS_FONT_SIZE_INPUT 1207
#define IDS_FAKEDOCTEXT 1300
reactos/dll/win32/clusapi # Synced to WineStaging-1.7.55
reactos/dll/win32/comcat # Synced to WineStaging-1.7.55
reactos/dll/win32/comctl32 # Synced to WineStaging-1.9.4
-reactos/dll/win32/comdlg32 # Synced to WineStaging-1.7.55
+reactos/dll/win32/comdlg32 # Synced to WineStaging-1.9.4
reactos/dll/win32/compstui # Synced to WineStaging-1.7.55
reactos/dll/win32/credui # Synced to WineStaging-1.7.55
reactos/dll/win32/crypt32 # Synced to WineStaging-1.7.55