Open adipose opened 6 days ago
Merging your latest to mpc-hc here: https://github.com/clsid2/mpc-hc/pull/2885
Note, mpc-hc only uses about 26 files from resizablelib. I'm not sure how many of the newer files were in the original version that was adopted by mpc-hc!
Thanks, I will have a look at your changes and see what can be included. It's always nice to see this library being used in real projects! Especially since I'm a user of MPC-HC ;-)
Thanks, I will have a look at your changes and see what can be included. It's always nice to see this library being used in real projects! Especially since I'm a user of MPC-HC ;-)
Awesome, thank you! Good to know you are a customer! I have always thought resizelib was an old abandoned project so it's nice to meet you.
CCmdUIDialog
derives from CDialog. It has the following changes:
DefWindowProc
sends a single message WM_KICKIDLE during WM_INITDIALOG
WM_KICKIDLE
handler added, which calls UpdateDialogControls(this, false);
(see https://deweymao.github.io/c/c++/2018/02/24/wm_kickidle_for_updating_mfc_dialog_controls.html for an explanation of the basic handler)
OnInitMenuPopup
that seems identical to the one suggested here:
This particular code seems like it's essentially fixing a bug/shortcoming of CDialog and menus.
Possible solutions for mpc-hc:
CResizableCMDUIDialog
the same way you implemented CResizableDialog
but deriving from CCmdUIDialog
CResizableCMDUIDialog
from CResizableDialog
and add the same features from CCmdUIDialog
CCmdUIDialog
or equivalent to ResizeLib and create a CResizableCMDUIDialog
CDialog
to CResizableDialog
. Preferably if you could change CDialog::
to __super::
it makes this merging easier.
Feel free to close this, I'm trying to document the changes we've internally made to a copy of your lib from 2014.
CResizableDialog
inherits fromCCmdUIDialog
instead ofCDialog
.CResizableDialog::OnSize
has an extra Invalidate() call for some redraw bugs. Have to track down the cause.CResizableDialog
uses __super instead ofCDialog
(you could do the same without causing any changes, but for us it calls the correct parent method)CResizableState
ReadState
andWriteState
to support custom storage ids.ResizableWndState
adds an ability to set the show command to SW_HIDEResizableWndState
updated to use different signature toCResizableState
methods