📄 pwlib.inl
字号:
//////////////////////////////////////////////////////////////////////////////
// PTextButton
PINLINE PTextButton::PTextButton(PInteractorLayout * parent,
PRESOURCE_ID ctlID, const PNotifier & notify, void * valuePtr)
: PPushButton(parent, ctlID, notify, valuePtr) { }
//////////////////////////////////////////////////////////////////////////////
// PCheck3WayBox
PINLINE PCheck3WayBox::CheckValues PCheck3WayBox::GetValue() const
{ return (CheckValues)SendMessage(GetHWND(), BM_GETCHECK, 0, 0L); }
PINLINE void PCheck3WayBox::SetValue(CheckValues newVal)
{ SendMessage(GetHWND(), BM_SETCHECK, newVal, 0L); }
//////////////////////////////////////////////////////////////////////////////
// PChoiceBox
PINLINE PChoiceBox::~PChoiceBox()
{ }
PINLINE void PChoiceBox::Construct()
{ }
PINLINE PINDEX PChoiceBox::GetSelection() const
{ return (PINDEX)SendMessage(GetHWND(), CB_GETCURSEL, 0, 0L); }
PINLINE void PChoiceBox::SetSelection(PINDEX newVal)
{ SendMessage(GetHWND(), CB_SETCURSEL, newVal, 0L); }
PINLINE PINDEX PChoiceBox::AddString(const PString & str)
{ return (PINDEX)SendMessage(GetHWND(), CB_ADDSTRING, 0, (DWORD)(LPCSTR)str); }
PINLINE void PChoiceBox::InsertString(const PString & str, PINDEX index)
{ SendMessage(GetHWND(), CB_INSERTSTRING, index, (DWORD)(LPCSTR)str); }
PINLINE void PChoiceBox::DeleteString(PINDEX index)
{ SendMessage(GetHWND(), CB_DELETESTRING, index, 0L); }
PINLINE void PChoiceBox::DeleteAllStrings()
{ SendMessage(GetHWND(), CB_RESETCONTENT, 0, 0L); }
PINLINE PINDEX PChoiceBox::FindString(const PString & str,
PINDEX startIndex, BOOL exact) const
{ return (PINDEX)SendMessage(GetHWND(),
exact ? CB_FINDSTRINGEXACT : CB_FINDSTRING,
startIndex == P_MAX_INDEX ? -1 : startIndex, (DWORD)(LPCSTR)str); }
PINLINE void PChoiceBox::SetString(const PString & str, PINDEX index)
{ DeleteString(index); InsertString(str, index); }
PINLINE PString PChoiceBox::GetString(PINDEX index) const
{ return GetWndText(CB_GETLBTEXTLEN, CB_GETLBTEXT, index, index); }
PINLINE PINDEX PChoiceBox::GetCount() const
{ return (PINDEX)SendMessage(GetHWND(), CB_GETCOUNT, 0, 0L); }
//////////////////////////////////////////////////////////////////////////////
// PListBox
PINLINE PListBox::~PListBox()
{ }
PINLINE PINDEX PListBox::GetCount() const
{ return (PINDEX)SendMessage(GetHWND(), LB_GETCOUNT, 0, 0L); }
PINLINE PINDEX PListBox::GetTopIndex() const
{ return (PINDEX)SendMessage(GetHWND(), LB_GETTOPINDEX, 0, 0L); }
PINLINE BOOL PListBox::IsSelected(PINDEX index) const
{ return SendMessage(GetHWND(), LB_GETSEL, index, 0L) > 0; }
PINLINE PINDEX PListBox::GetSelCount() const
{ return (PINDEX)SendMessage(GetHWND(), LB_GETSELCOUNT, 0, 0L); }
//////////////////////////////////////////////////////////////////////////////
// PStringListBox
PINLINE PStringListBox::PStringListBox(PInteractorLayout * parent,
PRESOURCE_ID ctlID, const PNotifier & notify, PINDEX * valuePtr)
: PListBox(parent, ctlID, notify, valuePtr) { AllowDeleteObjects(); }
//////////////////////////////////////////////////////////////////////////////
// PComboBox
PINLINE PComboBox::~PComboBox()
{ }
PINLINE void PComboBox::Construct()
{ }
PINLINE PString PComboBox::GetText() const
{ return GetWndText(); }
PINLINE void PComboBox::SetText(const PString & name)
{ SetWndText(name); }
PINLINE void PComboBox::SetMaxText(PINDEX max)
{ SendMessage(GetHWND(), CB_LIMITTEXT, max, 0L); }
PINLINE PINDEX PComboBox::GetLength() const
{ return (PINDEX)SendMessage(GetHWND(), WM_GETTEXTLENGTH, 0, 0L); }
PINLINE void PComboBox::SetSelection(PINDEX start, PINDEX finish)
{ SendMessage(GetHWND(), CB_SETEDITSEL, 0, MAKELPARAM(start, finish)); }
PINLINE void PComboBox::Cut()
{ SendMessage(GetHWND(), WM_CUT, 0, 0L); }
PINLINE void PComboBox::Copy() const
{ SendMessage(GetHWND(), WM_COPY, 0, 0L); }
PINLINE void PComboBox::Paste()
{ SendMessage(GetHWND(), WM_PASTE, 0, 0L); }
PINLINE void PComboBox::Clear()
{ SendMessage(GetHWND(), WM_CLEAR, 0, 0L); }
PINLINE PINDEX PComboBox::AddString(const PString & str)
{ return (PINDEX)SendMessage(GetHWND(), CB_ADDSTRING, 0, (DWORD)(LPCSTR)str); }
PINLINE void PComboBox::InsertString(const PString & str, PINDEX index)
{ SendMessage(GetHWND(), CB_INSERTSTRING, index, (DWORD)(LPCSTR)str); }
PINLINE void PComboBox::DeleteString(PINDEX index)
{ SendMessage(GetHWND(), CB_DELETESTRING, index, 0L); }
PINLINE void PComboBox::DeleteAllStrings()
{ SendMessage(GetHWND(), CB_RESETCONTENT, 0, 0L); }
PINLINE PINDEX PComboBox::FindString(const PString & str,
PINDEX startIndex, BOOL exact) const
{ return (PINDEX)SendMessage(GetHWND(),
exact ? CB_FINDSTRINGEXACT : CB_FINDSTRING,
startIndex == P_MAX_INDEX ? -1 : startIndex, (DWORD)(LPCSTR)str); }
PINLINE void PComboBox::SetString(const PString & str, PINDEX index)
{ DeleteString(index); InsertString(str, index); }
PINLINE PString PComboBox::GetString(PINDEX index) const
{ return GetWndText(CB_GETLBTEXTLEN, CB_GETLBTEXT, index, index); }
PINLINE PINDEX PComboBox::GetCount() const
{ return (PINDEX)SendMessage(GetHWND(), CB_GETCOUNT, 0, 0L); }
PINLINE void PComboBox::SetCurrent(PINDEX index)
{ SendMessage(GetHWND(), CB_SETCURSEL, index, 0L); }
//////////////////////////////////////////////////////////////////////////////
// PScrollBar
PINLINE void PScrollBar::Construct()
{ }
PINLINE void PScrollBar::SetSmallNudge(PSCROLLBAR_VALUE val)
{ smallNudge = val; }
PINLINE void PScrollBar::SetLargeNudge(PSCROLLBAR_VALUE val)
{ largeNudge = val; }
/////////////////////////////////////////////////////////////////////////////
// PDialog
PINLINE PDialog::~PDialog()
{ }
PINLINE PString PDialog::GetTitle() const
{ return GetWndText(); }
PINLINE void PDialog::SetTitle(const PString & title)
{ SetWndText(title); }
/////////////////////////////////////////////////////////////////////////////
// PTitledWindow
PINLINE PTitledWindow::~PTitledWindow()
{ }
PINLINE PString PTitledWindow::GetTitle() const
{ return GetWndText(); }
PINLINE void PTitledWindow::SetTitle(const PString & title)
{ SetWndText(title); }
PINLINE void PTitledWindow::Activate()
{ SetActiveWindow(GetHWND()); }
PINLINE void PTitledWindow::MakeIconic()
{ ShowWindow(GetHWND(), SW_MINIMIZE); }
PINLINE void PTitledWindow::Zoom()
{ ShowWindow(GetHWND(), SW_MAXIMIZE); }
PINLINE void PTitledWindow::Normalise()
{ ShowWindow(GetHWND(), SW_RESTORE); }
/////////////////////////////////////////////////////////////////////////////
// PTopLevelWindow
PINLINE PSubMenu & PTopLevelWindow::GetHelpMenu()
{ return helpMenu; }
/////////////////////////////////////////////////////////////////////////////
// PMDIFrameWindow
PINLINE void PMDIFrameWindow::CascadeDocuments()
{ SendMessage(mdiClient, WM_MDICASCADE, 0, 0L); }
PINLINE void PMDIFrameWindow::TileDocuments(BOOL vertically)
{ SendMessage(mdiClient, WM_MDITILE,
vertically ? MDITILE_VERTICAL : MDITILE_HORIZONTAL, 0L); }
PINLINE void PMDIFrameWindow::ArrangeIcons()
{ SendMessage(mdiClient, WM_MDIICONARRANGE, 0, 0L); }
PINLINE PSubMenu & PMDIFrameWindow::GetWindowMenu()
{ return windowMenu; }
/////////////////////////////////////////////////////////////////////////////
// PMDIDocWindow
PINLINE PMDIDocWindow::PMDIDocWindow(PMDIFrameWindow * parent,
const PString & newTitle, int CanDo)
: PTitledWindow(parent, CanDo), initialTitle(newTitle) { }
//////////////////////////////////////////////////////////////////////////////
// PMenuItem
PINLINE void PMenuItem::Enable(BOOL enabled)
{ EnableMenuItem(itsMenu->GetHMENU(), menuID,
(UINT)(enabled ? MF_ENABLED : MF_GRAYED)); }
PINLINE BOOL PMenuItem::IsEnabled() const
{ return (GetMenuState(itsMenu->GetHMENU(), menuID,
MF_BYCOMMAND)&MF_GRAYED) == 0; }
PINLINE void PMenuItem::Check(BOOL checked)
{ CheckMenuItem(itsMenu->GetHMENU(), menuID,
(UINT)(checked ? MF_CHECKED : MF_UNCHECKED)); }
PINLINE BOOL PMenuItem::IsChecked() const
{ return (GetMenuState(itsMenu->GetHMENU(), menuID,
MF_BYCOMMAND)&MF_CHECKED) != 0; }
//////////////////////////////////////////////////////////////////////////////
// PMenuSeparator
PINLINE PMenuSeparator::PMenuSeparator(int, PSubMenu & menu)
: PMenuEntry(menu, NULL) { }
//////////////////////////////////////////////////////////////////////////////
// PSubMenu
PINLINE PString PSubMenu::GetString() const
{ return title; }
PINLINE HMENU PSubMenu::GetHMENU() const
{ return PAssertNULL(hMenu); }
//////////////////////////////////////////////////////////////////////////////
// PRootMenu
PINLINE PRootMenu::~PRootMenu()
{ entries.RemoveAll(); }
PINLINE HACCEL PRootMenu::GetHACCEL() const
{ return accelerators; }
///////////////////////////////////////////////////////////////////////////////
// PSound
PINLINE void PSound::Beep()
{ MessageBeep(0); }
///////////////////////////////////////////////////////////////////////////////
// PResourceData
PINLINE BYTE PResourceData::operator[](PINDEX offset) const
{ return lpResource[offset]; }
PINLINE PResourceData::operator const BYTE *() const
{ return (const BYTE *)lpResource; }
///////////////////////////////////////////////////////////////////////////////
// PClipboard
PINLINE BOOL PClipboard::InUse()
{ return !opened; }
///////////////////////////////////////////////////////////////////////////////
// PApplication
PINLINE HINSTANCE PApplication::GetInstance() const
{ return hInstance; }
PINLINE WNDPROC PApplication::GetWndProcPtr(WndProcTypes proc) const
{ return wndProcPtr[proc]; }
PINLINE void PApplication::AddWindowHandle(HWND hWnd, PInteractor * pWnd)
{ createdWindows.SetAt((HWNDKey)hWnd, pWnd); }
PINLINE void PApplication::RemoveWindowHandle(HWND hWnd)
{ createdWindows.SetAt((HWNDKey)hWnd, NULL); }
PINLINE PInteractor * PApplication::GetWindowObject(HWND hWnd) const
{ return (PInteractor *)createdWindows.GetAt((HWNDKey)hWnd); }
PINLINE PInteractor * PApplication::FindInteractor(const PPoint & pt) const
{ return GetWindowObject(WindowFromPoint(pt)); }
// End Of File ///////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -