⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwlib.inl

📁 windows mobile phone source code
💻 INL
📖 第 1 页 / 共 3 页
字号:
//////////////////////////////////////////////////////////////////////////////
// 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 + -