Immediately refresh child windows after changing the font.
This commit is contained in:
parent
3a3307d4b2
commit
e5d414ea38
|
@ -181,7 +181,6 @@ FONT 8, "MS Shell Dlg"
|
|||
STRINGTABLE
|
||||
{
|
||||
IDS_FONT_SEL_DLG_NAME "Applying font settings"
|
||||
IDS_FONT_SEL_DLG_INFO "Changed font settings apply only to newly started windows."
|
||||
IDS_FONT_SEL_ERROR "Error while selecting new font."
|
||||
IDS_FILE_MOVE_ERROR "Error while moving file or directory."
|
||||
}
|
||||
|
|
|
@ -182,7 +182,6 @@ FONT 8, "MS Shell Dlg"
|
|||
STRINGTABLE
|
||||
{
|
||||
IDS_FONT_SEL_DLG_NAME "Applica le impostazioni dei font"
|
||||
IDS_FONT_SEL_DLG_INFO "I cambiamenti alle impostazioni dei font vengono applicati solo alle finestre apertesuccesivamente."
|
||||
IDS_FONT_SEL_ERROR "Si è verificato un errore durante la selezione del nuovo font."
|
||||
IDS_FILE_MOVE_ERROR "Si è verificato un errore durante lo spostamento del file o della directory."
|
||||
}
|
||||
|
|
|
@ -182,7 +182,6 @@ FONT 8, "MS Shell Dlg"
|
|||
STRINGTABLE
|
||||
{
|
||||
IDS_FONT_SEL_DLG_NAME "Wprowadzanie ustawień czcionki"
|
||||
IDS_FONT_SEL_DLG_INFO "Nowe ustawienia czcionki zadziałajš jedynie dla nowo otwartych okien."
|
||||
IDS_FONT_SEL_ERROR "Błšd przy wybieraniu czcionki"
|
||||
IDS_FILE_MOVE_ERROR "Błšd przy przenoszeniu pliku."
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2000 Martin Fuchs
|
||||
* Copyright 2000, 2003 Martin Fuchs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -72,7 +72,6 @@
|
|||
|
||||
/* string table */
|
||||
#define IDS_FONT_SEL_DLG_NAME 1101
|
||||
#define IDS_FONT_SEL_DLG_INFO 1102
|
||||
#define IDS_FONT_SEL_ERROR 1103
|
||||
#define IDS_FILE_MOVE_ERROR 1104
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Winefile
|
||||
*
|
||||
* Copyright 2000 Martin Fuchs
|
||||
* Copyright 2000, 2003, 2004 Martin Fuchs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -1490,7 +1490,7 @@ static HWND create_child_window(ChildWnd* child)
|
|||
mcs.y = child->pos.rcNormalPosition.top;
|
||||
mcs.cx = child->pos.rcNormalPosition.right-child->pos.rcNormalPosition.left;
|
||||
mcs.cy = child->pos.rcNormalPosition.bottom-child->pos.rcNormalPosition.top;
|
||||
mcs.style = 1;
|
||||
mcs.style = 0;
|
||||
mcs.lParam = 0;
|
||||
|
||||
hcbthook = SetWindowsHookEx(WH_CBT, CBTProc, 0, GetCurrentThreadId());
|
||||
|
@ -1817,12 +1817,13 @@ LRESULT CALLBACK FrameWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam
|
|||
case ID_WINDOW_ARRANGE:
|
||||
SendMessage(Globals.hmdiclient, WM_MDIICONARRANGE, 0, 0);
|
||||
break;
|
||||
|
||||
|
||||
case ID_SELECT_FONT: {
|
||||
TCHAR dlg_name[BUFFER_LEN], dlg_info[BUFFER_LEN];
|
||||
CHOOSEFONT chFont;
|
||||
LOGFONT lFont;
|
||||
LOGFONT lFont;
|
||||
|
||||
HDC hdc = GetDC(hwnd);
|
||||
char dlg_name[255], dlg_info[255];
|
||||
chFont.lStructSize = sizeof(CHOOSEFONT);
|
||||
chFont.hwndOwner = hwnd;
|
||||
chFont.hDC = NULL;
|
||||
|
@ -1837,20 +1838,32 @@ LRESULT CALLBACK FrameWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPARAM lparam
|
|||
chFont.nFontType = SIMULATED_FONTTYPE;
|
||||
chFont.nSizeMin = 0;
|
||||
chFont.nSizeMax = 24;
|
||||
if(ChooseFont(&chFont)) {
|
||||
LoadString(Globals.hInstance, IDS_FONT_SEL_DLG_NAME, dlg_name, MAX_LOAD_STRING);
|
||||
LoadString(Globals.hInstance, IDS_FONT_SEL_DLG_INFO, dlg_info, MAX_LOAD_STRING);
|
||||
MessageBox(hwnd,dlg_info,dlg_name,MB_OK|MB_ICONINFORMATION);
|
||||
|
||||
if (ChooseFont(&chFont)) {
|
||||
HWND childWnd;
|
||||
|
||||
Globals.hfont = CreateFontIndirect(&lFont);
|
||||
SelectFont(hdc, Globals.hfont);
|
||||
GetTextExtentPoint32(hdc, TEXT(" "), 1, &Globals.spaceSize);
|
||||
|
||||
/* change font in all open child windows */
|
||||
for(childWnd=GetWindow(Globals.hmdiclient,GW_CHILD); childWnd; childWnd=GetNextWindow(childWnd,GW_HWNDNEXT)) {
|
||||
ChildWnd* child = (ChildWnd*) GetWindowLong(childWnd, GWL_USERDATA);
|
||||
SetWindowFont(child->left.hwnd, Globals.hfont, TRUE);
|
||||
SetWindowFont(child->right.hwnd, Globals.hfont, TRUE);
|
||||
ListBox_SetItemHeight(child->left.hwnd, 1, max(Globals.spaceSize.cy,IMAGE_HEIGHT+3));
|
||||
ListBox_SetItemHeight(child->right.hwnd, 1, max(Globals.spaceSize.cy,IMAGE_HEIGHT+3));
|
||||
InvalidateRect(child->left.hwnd, NULL, TRUE);
|
||||
InvalidateRect(child->right.hwnd, NULL, TRUE);
|
||||
}
|
||||
}
|
||||
else if(CommDlgExtendedError()) {
|
||||
LoadString(Globals.hInstance, IDS_FONT_SEL_DLG_NAME, dlg_name, MAX_LOAD_STRING);
|
||||
LoadString(Globals.hInstance, IDS_FONT_SEL_ERROR, dlg_info, MAX_LOAD_STRING);
|
||||
MessageBox(hwnd,dlg_info,dlg_name,MB_OK);
|
||||
else if (CommDlgExtendedError()) {
|
||||
LoadString(Globals.hInstance, IDS_FONT_SEL_DLG_NAME, dlg_name, BUFFER_LEN);
|
||||
LoadString(Globals.hInstance, IDS_FONT_SEL_ERROR, dlg_info, BUFFER_LEN);
|
||||
MessageBox(hwnd, dlg_info, dlg_name, MB_OK);
|
||||
}
|
||||
ReleaseDC(hwnd,hdc);
|
||||
|
||||
ReleaseDC(hwnd, hdc);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2000 Martin Fuchs
|
||||
* Copyright 2000, 2003, 2004 Martin Fuchs
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -75,9 +75,7 @@ enum IMAGE {
|
|||
IMG_FOLDER, IMG_OPEN_FOLDER, IMG_FOLDER_PLUS,IMG_OPEN_PLUS, IMG_OPEN_MINUS,
|
||||
IMG_FOLDER_UP, IMG_FOLDER_CUR
|
||||
};
|
||||
#ifndef MAX_LOAD_STRING
|
||||
#define MAX_LOAD_STRING 256
|
||||
#endif
|
||||
|
||||
#define IMAGE_WIDTH 16
|
||||
#define IMAGE_HEIGHT 13
|
||||
#define SPLIT_WIDTH 5
|
||||
|
|
Loading…
Reference in New Issue