mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 23:45:42 +00:00
[MSPAINT] Realize context menu on canvas (#5352)
- Add actions on Right-Click. - Add ID_POPUPMENU resource menu. - Use TrackPopupMenu to show the context menu. - Improve CMainWindow::OnInitMenuPopup to display context menu. - Add SelectionModel::m_bContentChanged flag to indicate whether the selection content is changed. - Fix IDM_IMAGEINVERTCOLORS and IDM_IMAGEROTATEMIRROR commands. CORE-18867
This commit is contained in:
parent
0972f71d9a
commit
7aadc1e1fe
37 changed files with 725 additions and 62 deletions
|
@ -272,6 +272,11 @@ LRESULT CCanvasWindow::OnLRButtonDown(BOOL bLeftButton, UINT nMsg, WPARAM wParam
|
||||||
CanvasToImage(pt);
|
CanvasToImage(pt);
|
||||||
StartSelectionDrag(hitSelection, pt);
|
StartSelectionDrag(hitSelection, pt);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
canvasWindow.ClientToScreen(&pt);
|
||||||
|
mainWindow.TrackPopupMenu(pt, 0);
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -102,6 +102,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -92,6 +92,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -92,6 +92,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -92,6 +92,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -92,6 +92,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -78,7 +78,7 @@ BEGIN
|
||||||
POPUP "画像(&I)"
|
POPUP "画像(&I)"
|
||||||
BEGIN
|
BEGIN
|
||||||
MENUITEM "回転と反転(&M)\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
MENUITEM "回転と反転(&M)\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
MENUITEM "伸縮/傾斜(&S)\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
MENUITEM "伸縮と傾斜(&S)\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
MENUITEM "切り取り(&C)", IDM_IMAGECROP
|
MENUITEM "切り取り(&C)", IDM_IMAGECROP
|
||||||
MENUITEM "色の反転(&I)\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
MENUITEM "色の反転(&I)\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
MENUITEM "画像の属性(&A)\tCtrl+E", IDM_IMAGEATTRIBUTES
|
MENUITEM "画像の属性(&A)\tCtrl+E", IDM_IMAGEATTRIBUTES
|
||||||
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "切り取り(&T)\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "コピー(&C)\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "貼り付け(&P)\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "選択範囲の削除(&L)\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "すべて選択(&A)\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "ファイルへコピー(&O)...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "ファイルから貼り付け(&F)...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "回転と反転(&M)\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "伸縮と傾斜(&S)\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "色の反転(&I)\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -101,6 +101,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^O", IDM_FILENEW
|
"^O", IDM_FILENEW
|
||||||
|
|
|
@ -101,6 +101,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -92,6 +92,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -101,6 +101,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -92,6 +92,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -102,6 +102,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -100,6 +100,25 @@ BEGIN
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
|
ID_POPUPMENU MENU
|
||||||
|
BEGIN
|
||||||
|
POPUP "Popup #0"
|
||||||
|
BEGIN
|
||||||
|
MENUITEM "C&ut\tCtrl+X", IDM_EDITCUT
|
||||||
|
MENUITEM "Copy\tCtrl+C", IDM_EDITCOPY
|
||||||
|
MENUITEM "&Paste\tCtrl+V", IDM_EDITPASTE
|
||||||
|
MENUITEM "De&lete selection\tDel", IDM_EDITDELETESELECTION
|
||||||
|
MENUITEM "Select &All\tCtrl+A", IDM_EDITSELECTALL
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "C&opy to...", IDM_EDITCOPYTO
|
||||||
|
MENUITEM "Paste &from...", IDM_EDITPASTEFROM
|
||||||
|
MENUITEM SEPARATOR
|
||||||
|
MENUITEM "Rotate/&Mirror...\tCtrl+R", IDM_IMAGEROTATEMIRROR
|
||||||
|
MENUITEM "&Stretch/Skew...\tCtrl+W", IDM_IMAGESTRETCHSKEW
|
||||||
|
MENUITEM "&Invert colors\tCtrl+I", IDM_IMAGEINVERTCOLORS
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
||||||
ID_ACCELERATORS ACCELERATORS
|
ID_ACCELERATORS ACCELERATORS
|
||||||
BEGIN
|
BEGIN
|
||||||
"^N", IDM_FILENEW
|
"^N", IDM_FILENEW
|
||||||
|
|
|
@ -181,6 +181,12 @@ struct FreeSelTool : ToolBase
|
||||||
}
|
}
|
||||||
imageModel.NotifyImageChanged();
|
imageModel.NotifyImageChanged();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
POINT pt = { x, y };
|
||||||
|
canvasWindow.ClientToScreen(&pt);
|
||||||
|
mainWindow.TrackPopupMenu(pt, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnFinishDraw() override
|
void OnFinishDraw() override
|
||||||
|
@ -249,14 +255,19 @@ struct RectSelTool : ToolBase
|
||||||
|
|
||||||
void OnButtonUp(BOOL bLeftButton, LONG x, LONG y) override
|
void OnButtonUp(BOOL bLeftButton, LONG x, LONG y) override
|
||||||
{
|
{
|
||||||
|
POINT pt = { x, y };
|
||||||
if (bLeftButton)
|
if (bLeftButton)
|
||||||
{
|
{
|
||||||
POINT pt = { x, y };
|
|
||||||
imageModel.Bound(pt);
|
imageModel.Bound(pt);
|
||||||
selectionModel.SetRectFromPoints(g_ptStart, pt);
|
selectionModel.SetRectFromPoints(g_ptStart, pt);
|
||||||
selectionModel.m_bShow = !selectionModel.m_rc.IsRectEmpty();
|
selectionModel.m_bShow = !selectionModel.m_rc.IsRectEmpty();
|
||||||
imageModel.NotifyImageChanged();
|
imageModel.NotifyImageChanged();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
canvasWindow.ClientToScreen(&pt);
|
||||||
|
mainWindow.TrackPopupMenu(pt, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnFinishDraw() override
|
void OnFinishDraw() override
|
||||||
|
@ -565,10 +576,13 @@ struct TextTool : ToolBase
|
||||||
selectionModel.SetRectFromPoints(g_ptStart, pt);
|
selectionModel.SetRectFromPoints(g_ptStart, pt);
|
||||||
|
|
||||||
BOOL bTextBoxShown = ::IsWindowVisible(textEditWindow);
|
BOOL bTextBoxShown = ::IsWindowVisible(textEditWindow);
|
||||||
if (bTextBoxShown && textEditWindow.GetWindowTextLength() > 0)
|
if (bTextBoxShown)
|
||||||
{
|
{
|
||||||
imageModel.PushImageForUndo();
|
if (textEditWindow.GetWindowTextLength() > 0)
|
||||||
draw(m_hdc);
|
{
|
||||||
|
imageModel.PushImageForUndo();
|
||||||
|
draw(m_hdc);
|
||||||
|
}
|
||||||
if (::IsRectEmpty(&selectionModel.m_rc))
|
if (::IsRectEmpty(&selectionModel.m_rc))
|
||||||
{
|
{
|
||||||
quit();
|
quit();
|
||||||
|
@ -611,8 +625,11 @@ struct TextTool : ToolBase
|
||||||
|
|
||||||
void OnFinishDraw() override
|
void OnFinishDraw() override
|
||||||
{
|
{
|
||||||
imageModel.PushImageForUndo();
|
if (textEditWindow.GetWindowTextLength() > 0)
|
||||||
draw(m_hdc);
|
{
|
||||||
|
imageModel.PushImageForUndo();
|
||||||
|
draw(m_hdc);
|
||||||
|
}
|
||||||
quit();
|
quit();
|
||||||
ToolBase::OnFinishDraw();
|
ToolBase::OnFinishDraw();
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
#define IDI_VERTSKEW 538
|
#define IDI_VERTSKEW 538
|
||||||
|
|
||||||
#define ID_MENU 501
|
#define ID_MENU 501
|
||||||
|
#define ID_POPUPMENU 502
|
||||||
|
|
||||||
#define IDM_FILENEW 201
|
#define IDM_FILENEW 201
|
||||||
#define IDM_FILEOPEN 202
|
#define IDM_FILEOPEN 202
|
||||||
|
|
|
@ -19,6 +19,7 @@ SelectionModel::SelectionModel()
|
||||||
, m_ptStack(NULL)
|
, m_ptStack(NULL)
|
||||||
, m_iPtSP(0)
|
, m_iPtSP(0)
|
||||||
, m_bShow(FALSE)
|
, m_bShow(FALSE)
|
||||||
|
, m_bContentChanged(FALSE)
|
||||||
{
|
{
|
||||||
::SetRectEmpty(&m_rc);
|
::SetRectEmpty(&m_rc);
|
||||||
::SetRectEmpty(&m_rcOld);
|
::SetRectEmpty(&m_rcOld);
|
||||||
|
@ -123,6 +124,14 @@ void SelectionModel::DrawBackgroundRect(HDC hDCImage, COLORREF crBg)
|
||||||
Rect(hDCImage, m_rcOld.left, m_rcOld.top, m_rcOld.right, m_rcOld.bottom, crBg, crBg, 0, 1);
|
Rect(hDCImage, m_rcOld.left, m_rcOld.top, m_rcOld.right, m_rcOld.bottom, crBg, crBg, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SelectionModel::DrawBackground(HDC hDCImage)
|
||||||
|
{
|
||||||
|
if (toolsModel.GetActiveTool() == TOOL_FREESEL)
|
||||||
|
DrawBackgroundPoly(hDCImage, paletteModel.GetBgColor());
|
||||||
|
else
|
||||||
|
DrawBackgroundRect(hDCImage, paletteModel.GetBgColor());
|
||||||
|
}
|
||||||
|
|
||||||
void SelectionModel::DrawSelection(HDC hDCImage, COLORREF crBg, BOOL bBgTransparent)
|
void SelectionModel::DrawSelection(HDC hDCImage, COLORREF crBg, BOOL bBgTransparent)
|
||||||
{
|
{
|
||||||
CRect rc = m_rc;
|
CRect rc = m_rc;
|
||||||
|
@ -187,7 +196,8 @@ void SelectionModel::Landing()
|
||||||
|
|
||||||
m_bShow = FALSE;
|
m_bShow = FALSE;
|
||||||
|
|
||||||
if (!::EqualRect(m_rc, m_rcOld) && !::IsRectEmpty(m_rc) && !::IsRectEmpty(m_rcOld))
|
if (m_bContentChanged ||
|
||||||
|
(!::EqualRect(m_rc, m_rcOld) && !::IsRectEmpty(m_rc) && !::IsRectEmpty(m_rcOld)))
|
||||||
{
|
{
|
||||||
imageModel.PushImageForUndo();
|
imageModel.PushImageForUndo();
|
||||||
|
|
||||||
|
@ -208,9 +218,7 @@ void SelectionModel::InsertFromHBITMAP(HBITMAP hBm, INT x, INT y)
|
||||||
m_rc.right = x + GetDIBWidth(hBm);
|
m_rc.right = x + GetDIBWidth(hBm);
|
||||||
m_rc.bottom = y + GetDIBHeight(hBm);
|
m_rc.bottom = y + GetDIBHeight(hBm);
|
||||||
|
|
||||||
// If m_rc and m_rcOld were same, the image cannot be pasted to the canvas.
|
NotifyContentChanged();
|
||||||
// See also SelectionModel::Landing
|
|
||||||
::SetRect(&m_rcOld, -2, -2, -1, -1); // Outside of image
|
|
||||||
|
|
||||||
ClearMask();
|
ClearMask();
|
||||||
}
|
}
|
||||||
|
@ -234,7 +242,7 @@ void SelectionModel::FlipHorizontally()
|
||||||
}
|
}
|
||||||
::DeleteDC(hdcMem);
|
::DeleteDC(hdcMem);
|
||||||
|
|
||||||
imageModel.NotifyImageChanged();
|
NotifyContentChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SelectionModel::FlipVertically()
|
void SelectionModel::FlipVertically()
|
||||||
|
@ -256,7 +264,7 @@ void SelectionModel::FlipVertically()
|
||||||
}
|
}
|
||||||
::DeleteDC(hdcMem);
|
::DeleteDC(hdcMem);
|
||||||
|
|
||||||
imageModel.NotifyImageChanged();
|
NotifyContentChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SelectionModel::RotateNTimes90Degrees(int iN)
|
void SelectionModel::RotateNTimes90Degrees(int iN)
|
||||||
|
@ -267,9 +275,10 @@ void SelectionModel::RotateNTimes90Degrees(int iN)
|
||||||
|
|
||||||
switch (iN)
|
switch (iN)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1: /* rotate 90 degrees */
|
||||||
case 3:
|
case 3: /* rotate 270 degrees */
|
||||||
TakeOff();
|
TakeOff();
|
||||||
|
|
||||||
if (m_hbmColor)
|
if (m_hbmColor)
|
||||||
{
|
{
|
||||||
hbmOld = ::SelectObject(hdcMem, m_hbmColor);
|
hbmOld = ::SelectObject(hdcMem, m_hbmColor);
|
||||||
|
@ -286,10 +295,13 @@ void SelectionModel::RotateNTimes90Degrees(int iN)
|
||||||
::DeleteObject(m_hbmMask);
|
::DeleteObject(m_hbmMask);
|
||||||
m_hbmMask = hbm;
|
m_hbmMask = hbm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SwapWidthAndHeight();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2: /* rotate 180 degrees */
|
||||||
TakeOff();
|
TakeOff();
|
||||||
|
|
||||||
if (m_hbmColor)
|
if (m_hbmColor)
|
||||||
{
|
{
|
||||||
hbmOld = ::SelectObject(hdcMem, m_hbmColor);
|
hbmOld = ::SelectObject(hdcMem, m_hbmColor);
|
||||||
|
@ -308,7 +320,7 @@ void SelectionModel::RotateNTimes90Degrees(int iN)
|
||||||
}
|
}
|
||||||
|
|
||||||
::DeleteDC(hdcMem);
|
::DeleteDC(hdcMem);
|
||||||
imageModel.NotifyImageChanged();
|
NotifyContentChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SelectionModel::StretchSkew(int nStretchPercentX, int nStretchPercentY, int nSkewDegX, int nSkewDegY)
|
void SelectionModel::StretchSkew(int nStretchPercentX, int nStretchPercentY, int nSkewDegX, int nSkewDegY)
|
||||||
|
@ -351,7 +363,7 @@ void SelectionModel::StretchSkew(int nStretchPercentX, int nStretchPercentY, int
|
||||||
::DeleteDC(hDC);
|
::DeleteDC(hDC);
|
||||||
|
|
||||||
m_bShow = TRUE;
|
m_bShow = TRUE;
|
||||||
imageModel.NotifyImageChanged();
|
NotifyContentChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
HBITMAP SelectionModel::CopyBitmap()
|
HBITMAP SelectionModel::CopyBitmap()
|
||||||
|
@ -442,12 +454,11 @@ void SelectionModel::ClearColor()
|
||||||
|
|
||||||
void SelectionModel::HideSelection()
|
void SelectionModel::HideSelection()
|
||||||
{
|
{
|
||||||
m_bShow = FALSE;
|
m_bShow = m_bContentChanged = FALSE;
|
||||||
ClearColor();
|
ClearColor();
|
||||||
ClearMask();
|
ClearMask();
|
||||||
::SetRectEmpty(&m_rc);
|
::SetRectEmpty(&m_rc);
|
||||||
::SetRectEmpty(&m_rcOld);
|
::SetRectEmpty(&m_rcOld);
|
||||||
|
|
||||||
imageModel.NotifyImageChanged();
|
imageModel.NotifyImageChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -457,12 +468,39 @@ void SelectionModel::DeleteSelection()
|
||||||
return;
|
return;
|
||||||
|
|
||||||
TakeOff();
|
TakeOff();
|
||||||
|
|
||||||
imageModel.PushImageForUndo();
|
imageModel.PushImageForUndo();
|
||||||
if (toolsModel.GetActiveTool() == TOOL_FREESEL)
|
DrawBackground(imageModel.GetDC());
|
||||||
DrawBackgroundPoly(imageModel.GetDC(), paletteModel.GetBgColor());
|
|
||||||
else
|
|
||||||
DrawBackgroundRect(imageModel.GetDC(), paletteModel.GetBgColor());
|
|
||||||
|
|
||||||
HideSelection();
|
HideSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SelectionModel::InvertSelection()
|
||||||
|
{
|
||||||
|
TakeOff();
|
||||||
|
|
||||||
|
BITMAP bm;
|
||||||
|
::GetObject(m_hbmColor, sizeof(bm), &bm);
|
||||||
|
|
||||||
|
HDC hdc = ::CreateCompatibleDC(NULL);
|
||||||
|
HGDIOBJ hbmOld = ::SelectObject(hdc, m_hbmColor);
|
||||||
|
RECT rc = { 0, 0, bm.bmWidth, bm.bmHeight };
|
||||||
|
::InvertRect(hdc, &rc);
|
||||||
|
::SelectObject(hdc, hbmOld);
|
||||||
|
::DeleteDC(hdc);
|
||||||
|
|
||||||
|
NotifyContentChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SelectionModel::NotifyContentChanged()
|
||||||
|
{
|
||||||
|
m_bContentChanged = TRUE;
|
||||||
|
imageModel.NotifyImageChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SelectionModel::SwapWidthAndHeight()
|
||||||
|
{
|
||||||
|
INT cx = m_rc.Width();
|
||||||
|
INT cy = m_rc.Height();
|
||||||
|
m_rc.right = m_rc.left + cy;
|
||||||
|
m_rc.bottom = m_rc.top + cx;
|
||||||
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ private:
|
||||||
public:
|
public:
|
||||||
COLORREF m_rgbBack = RGB(255, 255, 255);
|
COLORREF m_rgbBack = RGB(255, 255, 255);
|
||||||
BOOL m_bShow;
|
BOOL m_bShow;
|
||||||
|
BOOL m_bContentChanged;
|
||||||
CRect m_rc; // in image pixel coordinates
|
CRect m_rc; // in image pixel coordinates
|
||||||
POINT m_ptHit; // in image pixel coordinates
|
POINT m_ptHit; // in image pixel coordinates
|
||||||
CRect m_rcOld; // in image pixel coordinates
|
CRect m_rcOld; // in image pixel coordinates
|
||||||
|
@ -42,6 +43,7 @@ public:
|
||||||
HBITMAP CopyBitmap();
|
HBITMAP CopyBitmap();
|
||||||
void GetSelectionContents(HDC hDCImage);
|
void GetSelectionContents(HDC hDCImage);
|
||||||
void DrawFramePoly(HDC hDCImage);
|
void DrawFramePoly(HDC hDCImage);
|
||||||
|
void DrawBackground(HDC hDCImage);
|
||||||
void DrawBackgroundPoly(HDC hDCImage, COLORREF crBg);
|
void DrawBackgroundPoly(HDC hDCImage, COLORREF crBg);
|
||||||
void DrawBackgroundRect(HDC hDCImage, COLORREF crBg);
|
void DrawBackgroundRect(HDC hDCImage, COLORREF crBg);
|
||||||
void DrawSelection(HDC hDCImage, COLORREF crBg = 0, BOOL bBgTransparent = FALSE);
|
void DrawSelection(HDC hDCImage, COLORREF crBg = 0, BOOL bBgTransparent = FALSE);
|
||||||
|
@ -52,14 +54,17 @@ public:
|
||||||
void FlipVertically();
|
void FlipVertically();
|
||||||
void RotateNTimes90Degrees(int iN);
|
void RotateNTimes90Degrees(int iN);
|
||||||
void StretchSkew(int nStretchPercentX, int nStretchPercentY, int nSkewDegX, int nSkewDegY);
|
void StretchSkew(int nStretchPercentX, int nStretchPercentY, int nSkewDegX, int nSkewDegY);
|
||||||
|
void InvertSelection();
|
||||||
|
|
||||||
void Dragging(CANVAS_HITTEST hit, POINT pt);
|
void Dragging(CANVAS_HITTEST hit, POINT pt);
|
||||||
void ClearMask();
|
void ClearMask();
|
||||||
void ClearColor();
|
void ClearColor();
|
||||||
|
void NotifyContentChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SelectionModel(const SelectionModel&);
|
SelectionModel(const SelectionModel&);
|
||||||
SelectionModel& operator=(const SelectionModel&);
|
SelectionModel& operator=(const SelectionModel&);
|
||||||
|
|
||||||
void ShiftPtStack(INT dx, INT dy);
|
void ShiftPtStack(INT dx, INT dy);
|
||||||
|
void SwapWidthAndHeight();
|
||||||
};
|
};
|
||||||
|
|
|
@ -424,47 +424,44 @@ LRESULT CMainWindow::OnInitMenuPopup(UINT nMsg, WPARAM wParam, LPARAM lParam, BO
|
||||||
((toolsModel.GetActiveTool() == TOOL_FREESEL) || (toolsModel.GetActiveTool() == TOOL_RECTSEL)));
|
((toolsModel.GetActiveTool() == TOOL_FREESEL) || (toolsModel.GetActiveTool() == TOOL_RECTSEL)));
|
||||||
BOOL textShown = (toolsModel.GetActiveTool() == TOOL_TEXT && ::IsWindowVisible(textEditWindow));
|
BOOL textShown = (toolsModel.GetActiveTool() == TOOL_TEXT && ::IsWindowVisible(textEditWindow));
|
||||||
DWORD dwStart = 0, dwEnd = 0;
|
DWORD dwStart = 0, dwEnd = 0;
|
||||||
if (::IsWindowVisible(textEditWindow))
|
if (textShown)
|
||||||
textEditWindow.SendMessage(EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwEnd);
|
textEditWindow.SendMessage(EM_GETSEL, (WPARAM)&dwStart, (LPARAM)&dwEnd);
|
||||||
BOOL hasTextSel = (dwStart < dwEnd);
|
BOOL hasTextSel = (dwStart < dwEnd);
|
||||||
|
|
||||||
switch (lParam)
|
//
|
||||||
|
// File menu
|
||||||
|
//
|
||||||
|
if (::GetSubMenu(GetMenu(), 0) == menu)
|
||||||
{
|
{
|
||||||
case 0: /* File menu */
|
ProcessFileMenu(menu);
|
||||||
ProcessFileMenu((HMENU)wParam);
|
|
||||||
break;
|
|
||||||
case 1: /* Edit menu */
|
|
||||||
EnableMenuItem(menu, IDM_EDITUNDO,
|
|
||||||
ENABLED_IF(textShown ? textEditWindow.SendMessage(EM_CANUNDO) : imageModel.CanUndo()));
|
|
||||||
EnableMenuItem(menu, IDM_EDITREDO, ENABLED_IF(textShown ? FALSE : imageModel.CanRedo()));
|
|
||||||
EnableMenuItem(menu, IDM_EDITCUT, ENABLED_IF(textShown ? hasTextSel : trueSelection));
|
|
||||||
EnableMenuItem(menu, IDM_EDITCOPY, ENABLED_IF(textShown ? hasTextSel : trueSelection));
|
|
||||||
EnableMenuItem(menu, IDM_EDITDELETESELECTION,
|
|
||||||
ENABLED_IF(textShown ? hasTextSel : trueSelection));
|
|
||||||
EnableMenuItem(menu, IDM_EDITINVERTSELECTION, ENABLED_IF(trueSelection));
|
|
||||||
EnableMenuItem(menu, IDM_EDITCOPYTO, ENABLED_IF(trueSelection));
|
|
||||||
EnableMenuItem(menu, IDM_EDITPASTE,
|
|
||||||
ENABLED_IF(textShown ? ::IsClipboardFormatAvailable(CF_UNICODETEXT) :
|
|
||||||
::IsClipboardFormatAvailable(CF_ENHMETAFILE) ||
|
|
||||||
::IsClipboardFormatAvailable(CF_DIB) ||
|
|
||||||
::IsClipboardFormatAvailable(CF_BITMAP)));
|
|
||||||
break;
|
|
||||||
case 2: /* View menu */
|
|
||||||
CheckMenuItem(menu, IDM_VIEWTOOLBOX, CHECKED_IF(::IsWindowVisible(toolBoxContainer)));
|
|
||||||
CheckMenuItem(menu, IDM_VIEWCOLORPALETTE, CHECKED_IF(::IsWindowVisible(paletteWindow)));
|
|
||||||
CheckMenuItem(menu, IDM_VIEWSTATUSBAR, CHECKED_IF(::IsWindowVisible(g_hStatusBar)));
|
|
||||||
CheckMenuItem(menu, IDM_FORMATICONBAR, CHECKED_IF(::IsWindowVisible(fontsDialog)));
|
|
||||||
EnableMenuItem(menu, IDM_FORMATICONBAR, ENABLED_IF(toolsModel.GetActiveTool() == TOOL_TEXT));
|
|
||||||
|
|
||||||
CheckMenuItem(menu, IDM_VIEWSHOWGRID, CHECKED_IF(g_showGrid));
|
|
||||||
CheckMenuItem(menu, IDM_VIEWSHOWMINIATURE, CHECKED_IF(registrySettings.ShowThumbnail));
|
|
||||||
break;
|
|
||||||
case 3: /* Image menu */
|
|
||||||
EnableMenuItem(menu, IDM_IMAGECROP, ENABLED_IF(selectionModel.m_bShow));
|
|
||||||
CheckMenuItem(menu, IDM_IMAGEDRAWOPAQUE, CHECKED_IF(!toolsModel.IsBackgroundTransparent()));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Edit menu
|
||||||
|
//
|
||||||
|
EnableMenuItem(menu, IDM_EDITUNDO,
|
||||||
|
ENABLED_IF(textShown ? textEditWindow.SendMessage(EM_CANUNDO) : imageModel.CanUndo()));
|
||||||
|
EnableMenuItem(menu, IDM_EDITREDO, ENABLED_IF(textShown ? FALSE : imageModel.CanRedo()));
|
||||||
|
EnableMenuItem(menu, IDM_EDITCUT, ENABLED_IF(textShown ? hasTextSel : trueSelection));
|
||||||
|
EnableMenuItem(menu, IDM_EDITCOPY, ENABLED_IF(textShown ? hasTextSel : trueSelection));
|
||||||
|
EnableMenuItem(menu, IDM_EDITDELETESELECTION,
|
||||||
|
ENABLED_IF(textShown ? hasTextSel : trueSelection));
|
||||||
|
EnableMenuItem(menu, IDM_EDITINVERTSELECTION, ENABLED_IF(trueSelection));
|
||||||
|
EnableMenuItem(menu, IDM_EDITCOPYTO, ENABLED_IF(trueSelection));
|
||||||
|
EnableMenuItem(menu, IDM_EDITPASTE,
|
||||||
|
ENABLED_IF(textShown ? ::IsClipboardFormatAvailable(CF_UNICODETEXT) :
|
||||||
|
::IsClipboardFormatAvailable(CF_ENHMETAFILE) ||
|
||||||
|
::IsClipboardFormatAvailable(CF_DIB) ||
|
||||||
|
::IsClipboardFormatAvailable(CF_BITMAP)));
|
||||||
|
|
||||||
|
//
|
||||||
|
// View menu
|
||||||
|
//
|
||||||
|
CheckMenuItem(menu, IDM_VIEWTOOLBOX, CHECKED_IF(::IsWindowVisible(toolBoxContainer)));
|
||||||
|
CheckMenuItem(menu, IDM_VIEWCOLORPALETTE, CHECKED_IF(::IsWindowVisible(paletteWindow)));
|
||||||
|
CheckMenuItem(menu, IDM_VIEWSTATUSBAR, CHECKED_IF(::IsWindowVisible(g_hStatusBar)));
|
||||||
|
CheckMenuItem(menu, IDM_FORMATICONBAR, CHECKED_IF(::IsWindowVisible(fontsDialog)));
|
||||||
|
EnableMenuItem(menu, IDM_FORMATICONBAR, ENABLED_IF(toolsModel.GetActiveTool() == TOOL_TEXT));
|
||||||
CheckMenuItem(menu, IDM_VIEWZOOM125, CHECKED_IF(toolsModel.GetZoom() == 125));
|
CheckMenuItem(menu, IDM_VIEWZOOM125, CHECKED_IF(toolsModel.GetZoom() == 125));
|
||||||
CheckMenuItem(menu, IDM_VIEWZOOM25, CHECKED_IF(toolsModel.GetZoom() == 250));
|
CheckMenuItem(menu, IDM_VIEWZOOM25, CHECKED_IF(toolsModel.GetZoom() == 250));
|
||||||
CheckMenuItem(menu, IDM_VIEWZOOM50, CHECKED_IF(toolsModel.GetZoom() == 500));
|
CheckMenuItem(menu, IDM_VIEWZOOM50, CHECKED_IF(toolsModel.GetZoom() == 500));
|
||||||
|
@ -472,7 +469,19 @@ LRESULT CMainWindow::OnInitMenuPopup(UINT nMsg, WPARAM wParam, LPARAM lParam, BO
|
||||||
CheckMenuItem(menu, IDM_VIEWZOOM200, CHECKED_IF(toolsModel.GetZoom() == 2000));
|
CheckMenuItem(menu, IDM_VIEWZOOM200, CHECKED_IF(toolsModel.GetZoom() == 2000));
|
||||||
CheckMenuItem(menu, IDM_VIEWZOOM400, CHECKED_IF(toolsModel.GetZoom() == 4000));
|
CheckMenuItem(menu, IDM_VIEWZOOM400, CHECKED_IF(toolsModel.GetZoom() == 4000));
|
||||||
CheckMenuItem(menu, IDM_VIEWZOOM800, CHECKED_IF(toolsModel.GetZoom() == 8000));
|
CheckMenuItem(menu, IDM_VIEWZOOM800, CHECKED_IF(toolsModel.GetZoom() == 8000));
|
||||||
|
CheckMenuItem(menu, IDM_VIEWSHOWGRID, CHECKED_IF(g_showGrid));
|
||||||
|
CheckMenuItem(menu, IDM_VIEWSHOWMINIATURE, CHECKED_IF(registrySettings.ShowThumbnail));
|
||||||
|
|
||||||
|
//
|
||||||
|
// Image menu
|
||||||
|
//
|
||||||
|
EnableMenuItem(menu, IDM_IMAGECROP, ENABLED_IF(selectionModel.m_bShow));
|
||||||
|
EnableMenuItem(menu, IDM_IMAGEDELETEIMAGE, ENABLED_IF(!selectionModel.m_bShow));
|
||||||
|
CheckMenuItem(menu, IDM_IMAGEDRAWOPAQUE, CHECKED_IF(!toolsModel.IsBackgroundTransparent()));
|
||||||
|
|
||||||
|
//
|
||||||
|
// Palette menu
|
||||||
|
//
|
||||||
CheckMenuItem(menu, IDM_COLORSMODERNPALETTE, CHECKED_IF(paletteModel.SelectedPalette() == PAL_MODERN));
|
CheckMenuItem(menu, IDM_COLORSMODERNPALETTE, CHECKED_IF(paletteModel.SelectedPalette() == PAL_MODERN));
|
||||||
CheckMenuItem(menu, IDM_COLORSOLDPALETTE, CHECKED_IF(paletteModel.SelectedPalette() == PAL_OLDTYPE));
|
CheckMenuItem(menu, IDM_COLORSOLDPALETTE, CHECKED_IF(paletteModel.SelectedPalette() == PAL_OLDTYPE));
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -858,7 +867,10 @@ LRESULT CMainWindow::OnCommand(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bH
|
||||||
break;
|
break;
|
||||||
case IDM_IMAGEINVERTCOLORS:
|
case IDM_IMAGEINVERTCOLORS:
|
||||||
{
|
{
|
||||||
imageModel.InvertColors();
|
if (selectionModel.m_bShow)
|
||||||
|
selectionModel.InvertSelection();
|
||||||
|
else
|
||||||
|
imageModel.InvertColors();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IDM_IMAGEDELETEIMAGE:
|
case IDM_IMAGEDELETEIMAGE:
|
||||||
|
@ -997,8 +1009,22 @@ LRESULT CMainWindow::OnCommand(UINT nMsg, WPARAM wParam, LPARAM lParam, BOOL& bH
|
||||||
// Create and show the fullscreen window
|
// Create and show the fullscreen window
|
||||||
fullscreenWindow.DoCreate();
|
fullscreenWindow.DoCreate();
|
||||||
fullscreenWindow.ShowWindow(SW_SHOWMAXIMIZED);
|
fullscreenWindow.ShowWindow(SW_SHOWMAXIMIZED);
|
||||||
ShowWindow(SW_HIDE);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VOID CMainWindow::TrackPopupMenu(POINT ptScreen, INT iSubMenu)
|
||||||
|
{
|
||||||
|
HMENU hMenu = ::LoadMenuW(g_hinstExe, MAKEINTRESOURCEW(ID_POPUPMENU));
|
||||||
|
HMENU hSubMenu = ::GetSubMenu(hMenu, iSubMenu);
|
||||||
|
|
||||||
|
::SetForegroundWindow(m_hWnd);
|
||||||
|
INT_PTR id = ::TrackPopupMenu(hSubMenu, TPM_RIGHTBUTTON | TPM_RETURNCMD,
|
||||||
|
ptScreen.x, ptScreen.y, 0, m_hWnd, NULL);
|
||||||
|
PostMessage(WM_NULL);
|
||||||
|
if (id != 0)
|
||||||
|
PostMessage(WM_COMMAND, id);
|
||||||
|
|
||||||
|
::DestroyMenu(hMenu);
|
||||||
|
}
|
||||||
|
|
|
@ -34,6 +34,7 @@ public:
|
||||||
BOOL GetOpenFileName(IN OUT LPTSTR pszFile, INT cchMaxFile);
|
BOOL GetOpenFileName(IN OUT LPTSTR pszFile, INT cchMaxFile);
|
||||||
BOOL GetSaveFileName(IN OUT LPTSTR pszFile, INT cchMaxFile);
|
BOOL GetSaveFileName(IN OUT LPTSTR pszFile, INT cchMaxFile);
|
||||||
BOOL ChooseColor(IN OUT COLORREF *prgbColor);
|
BOOL ChooseColor(IN OUT COLORREF *prgbColor);
|
||||||
|
VOID TrackPopupMenu(POINT ptScreen, INT iSubMenu);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
HMENU m_hMenu;
|
HMENU m_hMenu;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue