#include #include PickDlg::PickDlg(void) { } PickDlg::PickDlg(const PickDlg &somePickDlg) { // private implementation *this=somePickDlg; } PickDlg::~PickDlg() { destroy(); } PickDlg &PickDlg::operator=(const PickDlg &somePickDlg) { // private implementation return *this; } BOOL PickDlg::perform(GUIWindow &parentWindow,Block &printers,String &strPrinter) { mParent=&parentWindow; mPrinters=printers; mPrinter=strPrinter; mCancel=FALSE; create(parentWindow); if(!mCancel)strPrinter=mPrinter; return !mCancel; } void PickDlg::create(GUIWindow &parentWindow) { DialogTemplate dlgTemplate; DialogItemTemplate comboBox; DialogItemTemplate okButton; DialogItemTemplate cancelButton; dlgTemplate.titleText("Choose Printer"); dlgTemplate.posRect(Rect(10,73,269,39)); dlgTemplate.pointSize(8); dlgTemplate.typeFace("Helv"); dlgTemplate.style(WS_VISIBLE|WS_CAPTION|DS_SETFONT|WS_POPUP); // WS_SYSMENU|DS_SETFONT| DS_3DLOOK| WS_SYSMENU| dlgTemplate.extendedStyle(WS_EX_TOPMOST); okButton.className("BUTTON"); okButton.titleText("&Ok"); okButton.style(WS_VISIBLE|WS_CHILD|WS_TABSTOP|WS_GROUP|BS_DEFPUSHBUTTON); okButton.posRect(Rect(216,3,50,14)); okButton.itemID(IDOK); cancelButton.className("BUTTON"); cancelButton.titleText("Ca&ncel"); cancelButton.style(WS_VISIBLE|WS_CHILD|WS_TABSTOP|WS_GROUP); cancelButton.posRect(Rect(216,17,50,14)); cancelButton.itemID(IDCANCEL); comboBox.className("COMBOBOX"); comboBox.titleText(""); comboBox.style(WS_VISIBLE|WS_CHILD|WS_TABSTOP|WS_GROUP|CBS_DROPDOWNLIST); comboBox.posRect(Rect(10,11,199,44)); comboBox.itemID(ComboBoxID); dlgTemplate+=comboBox; dlgTemplate+=okButton; dlgTemplate+=cancelButton; createDialog(parentWindow,dlgTemplate,DynamicDialog::ModalDialog); parentWindow.enable(TRUE); parentWindow.top(); } WORD PickDlg::dlgCommand(DWORD commandID,CallbackData &someCallbackData) { switch(commandID) { case IDCANCEL : mCancel=TRUE; endDialog(false); // destroy(); break; case IDOK : mCancel=FALSE; sendMessage(ComboBoxID,WM_GETTEXT,String::MaxString,(LPARAM)(LPSTR)mPrinter); endDialog(true); // destroy(); break; } return FALSE; } BOOL PickDlg::dlgInitDialog(CallbackData &/*someCallbackData*/) { // ::SetParent(*this,*mParent); for(int index=0;index