CTaskDialog Sınıfı
İleti kutusu gibi işlev gösteren ancak kullanıcıya ek bilgiler görüntüleyebilen bir açılır iletişim kutusu. ayrıca CTaskDialog
kullanıcıdan bilgi toplama işlevselliğini de içerir.
Sözdizimi
class CTaskDialog : public CObject
Üyeler
Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CTaskDialog::CTaskDialog | Bir CTaskDialog nesne oluşturur. |
Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CTaskDialog::AddCommandControl | komutuna CTaskDialog bir komut düğmesi denetimi ekler. |
CTaskDialog::AddRadioButton | öğesine CTaskDialog bir radyo düğmesi ekler. |
CTaskDialog::ClickCommandControl | Program aracılığıyla bir komut düğmesi denetimine veya ortak düğmeye tıklar. |
CTaskDialog::ClickRadioButton | Program aracılığıyla bir radyo düğmesine tıklar. |
CTaskDialog::D oModal | öğesini CTaskDialog görüntüler. |
CTaskDialog::GetCommonButtonCount | Kullanılabilir ortak düğmelerin sayısını alır. |
CTaskDialog::GetCommonButtonFlag | Standart bir Windows düğmesini sınıfla ilişkilendirilmiş ortak düğme türüne CTaskDialog dönüştürür. |
CTaskDialog::GetCommonButtonId | sınıfıyla CTaskDialog ilişkilendirilmiş ortak düğme türlerinden birini standart bir Windows düğmesine dönüştürür. |
CTaskDialog::GetOptions | Bunun CTaskDialog için seçenek bayraklarını döndürür. |
CTaskDialog::GetSelectedCommandControlID | Seçili komut düğmesi denetimini döndürür. |
CTaskDialog::GetSelectedRadioButtonID | Seçili radyo düğmesini döndürür. |
CTaskDialog::GetVerificationCheckboxState | Doğrulama onay kutusunun durumunu alır. |
CTaskDialog::IsCommandControlEnabled | Bir komut düğmesi denetiminin mi yoksa ortak düğmenin mi etkinleştirildiğini belirler. |
CTaskDialog::IsRadioButtonEnabled | Radyo düğmesinin etkinleştirilip etkinleştirilmediğini belirler. |
CTaskDialog::IsSupported | Uygulamayı çalıştıran bilgisayarın uygulamasını destekleyip desteklemediğini CTaskDialog belirler. |
CTaskDialog::LoadCommandControls | Dize tablosundaki verileri kullanarak komut düğmesi denetimleri ekler. |
CTaskDialog::LoadRadioButtons | Dize tablosundaki verileri kullanarak radyo düğmeleri ekler. |
CTaskDialog::NavigateTo | Odağı başka bir CTaskDialog öğesine aktarır. |
CTaskDialog::OnCommandControlClick | Kullanıcı bir komut düğmesi denetimine tıkladığında çerçeve bu yöntemi çağırır. |
CTaskDialog::OnCreate | Çerçeve, öğesini oluşturdıktan CTaskDialog sonra bu yöntemi çağırır. |
CTaskDialog::OnDestroy | Çerçeve, yok etmeden CTaskDialog hemen önce bu yöntemi çağırır. |
CTaskDialog::OnExpandButtonClick | Kullanıcı genişletme düğmesine tıkladığında çerçeve bu yöntemi çağırır. |
CTaskDialog::OnHelp | Kullanıcı yardım istediğinde çerçeve bu yöntemi çağırır. |
CTaskDialog::OnHyperlinkClick | Kullanıcı bir köprüye tıkladığında çerçeve bu yöntemi çağırır. |
CTaskDialog::OnInit | başlatıldığında çerçeve bu yöntemi CTaskDialog çağırır. |
CTaskDialog::OnNavigatePage | Kullanıcı üzerindeki denetimlerle CTaskDialog ilgili odağı hareket ettiğinde çerçeve bu yöntemi çağırır. |
CTaskDialog::OnRadioButtonClick | Kullanıcı bir radyo düğmesi denetimi seçtiğinde çerçeve bu yöntemi çağırır. |
CTaskDialog::OnTimer | Zamanlayıcının süresi dolduğunda çerçeve bu yöntemi çağırır. |
CTaskDialog::OnVerificationCheckboxClick | Kullanıcı doğrulama onay kutusuna tıkladığında çerçeve bu yöntemi çağırır. |
CTaskDialog::RemoveAllCommandControls | tüm komut denetimlerini içinden CTaskDialog kaldırır. |
CTaskDialog::RemoveAllRadioButtons | 'den CTaskDialog tüm radyo düğmelerini kaldırır. |
CTaskDialog::SetCommandControlOptions | üzerindeki CTaskDialog bir komut düğmesi denetimini güncelleştirir. |
CTaskDialog::SetCommonButtonOptions | Ortak düğmelerin bir alt kümesini etkinleştirilecek şekilde güncelleştirir ve UAC yükseltmesi gerektirir. |
CTaskDialog::SetCommonButtons | öğesine ortak düğmeler CTaskDialog ekler. |
CTaskDialog::SetContent | içeriğini CTaskDialog güncelleştirir. |
CTaskDialog::SetDefaultCommandControl | Varsayılan komut düğmesi denetimini belirtir. |
CTaskDialog::SetDefaultRadioButton | Varsayılan radyo düğmesini belirtir. |
CTaskDialog::SetDialogWidth | öğesinin genişliğini CTaskDialog ayarlar. |
CTaskDialog::SetExpansionArea | öğesinin genişletme alanını CTaskDialog güncelleştirir. |
CTaskDialog::SetFooterIcon | için CTaskDialog alt bilgi simgesini güncelleştirir. |
CTaskDialog::SetFooterText | alt bilgisinde CTaskDialog bulunan metni güncelleştirir. |
CTaskDialog::SetMainIcon | öğesinin ana simgesini CTaskDialog güncelleştirir. |
CTaskDialog::SetMainInstruction | öğesinin ana yönergesini CTaskDialog güncelleştirir. |
CTaskDialog::SetOptions | için seçenekleri yapılandırılır CTaskDialog . |
CTaskDialog::SetProgressBarMarquee | için bir kayan CTaskDialog yazı çubuğu yapılandırıp iletişim kutusuna ekler. |
CTaskDialog::SetProgressBarPosition | İlerleme çubuğunun konumunu ayarlar. |
CTaskDialog::SetProgressBarRange | İlerleme çubuğunun aralığını ayarlar. |
CTaskDialog::SetProgressBarState | İlerleme çubuğunun durumunu ayarlar ve üzerinde CTaskDialog görüntüler. |
CTaskDialog::SetRadioButtonOptions | Radyo düğmesini etkinleştirir veya devre dışı bırakır. |
CTaskDialog::SetVerificationCheckbox | Doğrulama onay kutusunun işaretli durumunu ayarlar. |
CTaskDialog::SetVerificationCheckboxText | Doğrulama onay kutusunun sağ tarafındaki metni ayarlar. |
CTaskDialog::SetWindowTitle | öğesinin CTaskDialog başlığını ayarlar. |
CTaskDialog::ShowDialog | oluşturur CTaskDialog ve görüntüler. |
CTaskDialog::TaskDialogCallback | Çerçeve, çeşitli Windows iletilerine yanıt olarak bunu çağırır. |
Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
m_aButtons |
komut düğmesi dizisi için denetimler CTaskDialog . |
m_aRadioButtons |
için radyo düğmesi denetimleri CTaskDialog dizisi. |
m_bVerified |
TRUE doğrulama onay kutusunun işaretli olduğunu gösterir; FALSE olmadığını gösterir. |
m_footerIcon |
alt bilgisindeki CTaskDialog simge. |
m_hWnd |
penceresinin CTaskDialog tutamacı. |
m_mainIcon |
öğesinin CTaskDialog ana simgesi. |
m_nButtonDisabled |
Ortak düğmelerden hangilerinin devre dışı bırakıldığını gösteren maske. |
m_nButtonElevation |
Ortak düğmelerden hangilerinin UAC yükseltmesi gerektirdiğini gösteren bir maske. |
m_nButtonId |
Seçili komut düğmesi denetiminin kimliği. |
m_nCommonButton |
üzerinde CTaskDialog hangi ortak düğmelerin görüntülendiğini gösteren bir maske. |
m_nDefaultCommandControl |
görüntülendiğinde seçilen komut düğmesi denetiminin CTaskDialog kimliği. |
m_nDefaultRadioButton |
görüntülendiğinde seçilen radyo düğmesi denetiminin CTaskDialog kimliği. |
m_nFlags |
için CTaskDialog seçenekleri gösteren bir maske. |
m_nProgressPos |
İlerleme çubuğunun geçerli konumu. Bu değer ile m_nProgressRangeMax arasında m_nProgressRangeMin olmalıdır. |
m_nProgressRangeMax |
İlerleme çubuğu için en büyük değer. |
m_nProgressRangeMin |
İlerleme çubuğu için en düşük değer. |
m_nProgressState |
İlerleme çubuğunun durumu. Daha fazla bilgi için bkz . CTaskDialog::SetProgressBarState. |
m_nRadioId |
Seçili radyo düğmesi denetiminin kimliği. |
m_nWidth |
piksel cinsinden genişliği CTaskDialog . |
m_strCollapse |
Genişletilmiş bilgiler gizlendiğinde genişletme kutusunun sağındaki dizesi CTaskDialog görüntülenir. |
m_strContent |
öğesinin CTaskDialog içerik dizesi. |
m_strExpand |
Genişletilmiş bilgiler görüntülendiğinde genişletme kutusunun sağındaki dizesi CTaskDialog görüntülenir. |
m_strFooter |
alt bilgisi CTaskDialog . |
m_strInformation |
için CTaskDialog genişletilmiş bilgiler. |
m_strMainInstruction |
öğesinin ana yönergesi CTaskDialog . |
m_strTitle |
öğesinin CTaskDialog başlığı. |
m_strVerification |
Doğrulama onay kutusunun sağ kısmında görüntülenen dize CTaskDialog . |
Açıklamalar
sınıfı standart CTaskDialog
Windows ileti kutusunun yerini alır ve kullanıcıdan bilgi toplamak için yeni denetimler gibi ek işlevlere sahiptir. Bu sınıf, Visual Studio 2010 ve sonraki sürümlerde MFC kitaplığındadır. CTaskDialog
, Windows Vista ile başlayarak kullanılabilir. Windows'un önceki sürümleri nesneyi görüntüleyemiyor CTaskDialog
. Geçerli kullanıcının görev iletişim kutusunu görüntüleyip görüntüleyemeyeceğini çalışma zamanında belirlemek için kullanın CTaskDialog::IsSupported
. Standart Windows ileti kutusu hala desteklenmektedir.
CTaskDialog
yalnızca Uygulamanızı Unicode kitaplığını kullanarak derlediğinizde kullanılabilir.
iki CTaskDialog
farklı oluşturucuya sahiptir. Bir oluşturucu, iki komut düğmesi ve en fazla altı normal düğme denetimi belirtmenizi sağlar. oluşturduktan sonra CTaskDialog
daha fazla komut düğmesi ekleyebilirsiniz. İkinci oluşturucu herhangi bir komut düğmesini desteklemez, ancak sınırsız sayıda normal düğme denetimi ekleyebilirsiniz. Oluşturucular hakkında daha fazla bilgi için bkz . CTaskDialog::CTaskDialog.
Aşağıdaki görüntüde, bazı denetimlerin konumunu gösteren bir örnek CTaskDialog
gösterilmektedir.
CTaskDialog Örneği
Gereksinimler
Gerekli en düşük işletim sistemi: Windows Vista
Üst bilgi: afxtaskdialog.h
CTaskDialog::AddCommandControl
öğesine yeni bir komut düğmesi denetimi CTaskDialog
ekler.
void AddCommandControl(
int nCommandControlID,
const CString& strCaption,
BOOL bEnabled = TRUE,
BOOL bRequiresElevation = FALSE);
Parametreler
nCommandControlID
[in] Komut denetimi kimlik numarası.
strCaption
[in] öğesinin CTaskDialog
kullanıcıya görüntülediği dize. Komutun amacını açıklamak için bu dizeyi kullanın.
bEnabled
[in] Yeni düğmenin etkin mi yoksa devre dışı mı olduğunu gösteren boole parametresi.
bRequiresElevation
[in] Bir komutun yükseltilmesi gerekip gerekmediğini belirten boole parametresi.
Açıklamalar
sınırsız CTaskDialog Class
sayıda komut düğmesi denetimi görüntüleyebilir. Ancak, bir CTaskDialog
komut düğmesi denetimi görüntülerse en fazla altı düğme görüntüleyebilir. CTaskDialog
Komut düğmesi denetimi yoksa sınırsız sayıda düğme görüntüleyebilir.
Kullanıcı bir komut düğmesi denetimi seçtiğinde kapatıldığında CTaskDialog
. Uygulamanız CTaskDialog::D oModal kullanarak iletişim kutusunu görüntülüyorsa, DoModal
seçili komut düğmesi denetiminin nCommandControlID değerini döndürür.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::AddRadioButton
öğesine CTaskDialog
bir radyo düğmesi ekler.
void CTaskDialog::AddRadioButton(
int nRadioButtonID,
const CString& strCaption,
BOOL bEnabled = TRUE);
Parametreler
nRadioButtonID
[in] Radyo düğmesinin kimlik numarası.
strCaption
[in] Radyo düğmesinin CTaskDialog
yanında görüntülenen dize.
bEnabled
[in] Radyo düğmesinin etkinleştirilip etkinleştirilmediğini gösteren boole parametresi.
Açıklamalar
CTaskDialog Sınıfının radyo düğmeleri, kullanıcıdan bilgi toplamanızı sağlar. Hangi radyo düğmesinin seçili olduğunu belirlemek için CTaskDialog::GetSelectedRadioButtonID işlevini kullanın.
, CTaskDialog
nRadioButtonID parametrelerinin her radyo düğmesi için benzersiz olmasını gerektirmez. Ancak, her radyo düğmesi için ayrı bir tanımlayıcı kullanmazsanız beklenmeyen bir davranışla karşılaşabilirsiniz.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::ClickCommandControl
Program aracılığıyla bir komut düğmesi denetimine veya ortak düğmeye tıklar.
protected:
void ClickCommandControl(int nCommandControlID) const;
Parametreler
nCommandControlID
[in] Tıklatacak denetimin komut kimliği.
Açıklamalar
Bu yöntem windows ileti TDM_CLICK_BUTTON oluşturur.
CTaskDialog::ClickRadioButton
Program aracılığıyla bir radyo düğmesine tıklar.
protected:
void ClickRadioButton(int nRadioButtonID) const;
Parametreler
nRadioButtonID
[in] Tıklayacak radyo düğmesinin kimliği.
Açıklamalar
Bu yöntem windows ileti TDM_CLICK_RADIO_BUTTON oluşturur.
CTaskDialog::CTaskDialog
CTaskDialog Sınıfının bir örneğini oluşturur.
CTaskDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nCommonButtons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
CTaskDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nIDCommandControlsFirst,
int nIDCommandControlsLast,
int nCommonButtons,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
Parametreler
strContent
[in] öğesinin içeriği CTaskDialog
için kullanılacak dize.
strMainInstruction
[in] öğesinin ana yönergesi CTaskDialog
.
strTitle
[in] öğesinin CTaskDialog
başlığı.
nCommonButtons
[in] öğesine eklenecek ortak düğmelerin CTaskDialog
maskesi.
nTaskDialogOptions
[in] için CTaskDialog
kullanılacak seçenekler kümesi.
strFooter
[in] Alt bilgi olarak kullanılacak dize.
nIDCommandControlsFirst
[in] İlk komutun dize kimliği.
nIDCommandControlsLast
[in] Son komutun dize kimliği.
Açıklamalar
Uygulamanıza eklemenin CTaskDialog
iki yolu vardır. İlk yol, oluşturuculardan birini kullanarak CTaskDialog::D oModal kullanarak bir CTaskDialog
oluşturmak ve görüntülemektir. İkinci yol, açıkça nesne oluşturmadan CTaskDialog
görüntülemenizi CTaskDialog
sağlayan CTaskDialog::ShowDialog statik işlevini kullanmaktır.
İkinci oluşturucu, uygulamanızın kaynak dosyasındaki verileri kullanarak komut düğmesi denetimleri oluşturur. Kaynak dosyasındaki dize tablosunda ilişkili dize kimliklerine sahip çeşitli dizeler vardır. Bu yöntem, nIDCommandControlsFirst ile nCommandControlsLast (dahil) arasında dize tablosundaki her geçerli girdi için bir komut düğmesi denetimi ekler. Bu komut düğmesi denetimleri için, dize tablosundaki dize denetimin resim yazısıdır ve dize kimliği denetimin kimliğidir.
Geçerli seçeneklerin listesi için bkz . CTaskDialog::SetOptions .
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::D oModal
CTaskDialog
öğesini gösterir ve kalıcı hale getirir.
INT_PTR DoModal (HWND hParent = ::GetActiveWindow());
Parametreler
hParent
[in] için CTaskDialog
üst pencere.
Dönüş Değeri
Kullanıcı tarafından yapılan seçime karşılık gelen bir tamsayı.
Açıklamalar
CTaskDialog'un bu örneğini görüntüler. Uygulama daha sonra kullanıcının iletişim kutusunu kapatmasını bekler.
kullanıcı CTaskDialog
ortak bir düğmeyi, komut bağlantısı denetimini seçtiğinde veya kapattığında CTaskDialog
kapanır. Dönüş değeri, kullanıcının iletişim kutusunu nasıl kapattığını gösteren tanımlayıcıdır.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::GetCommonButtonCount
Ortak düğmelerin sayısını alır.
int GetCommonButtonCount() const;
Dönüş Değeri
Kullanılabilir ortak düğmelerin sayısı.
Açıklamalar
Yaygın düğmeler, CTaskDialog::CTaskDialog'a sağladığınız varsayılan düğmelerdir. CTaskDialog Sınıfı, iletişim kutusunun alt kısmındaki düğmeleri görüntüler.
Numaralandırılmış düğme listesi CommCtrl.h'de sağlanır.
CTaskDialog::GetCommonButtonFlag
Standart bir Windows düğmesini CTaskDialog Sınıfı ile ilişkilendirilmiş ortak düğme türüne dönüştürür.
int GetCommonButtonFlag(int nButtonId) const;
Parametreler
nButtonId
[in] Standart Windows düğmesi değeri.
Dönüş Değeri
İlgili CTaskDialog
ortak düğmenin değeri. Karşılık gelen ortak düğme yoksa, bu yöntem 0 döndürür.
CTaskDialog::GetCommonButtonId
CTaskDialog Sınıfı ile ilişkilendirilmiş ortak düğme türlerinden birini standart bir Windows düğmesine dönüştürür.
int GetCommonButtonId(int nFlag);
Parametreler
nFlag
[in] Sınıfıyla CTaskDialog
ilişkilendirilmiş ortak düğme türü.
Dönüş Değeri
İlgili standart Windows düğmesinin değeri. Karşılık gelen Windows düğmesi yoksa, yöntem 0 döndürür.
CTaskDialog::GetOptions
Bunun CTaskDialog
için seçenek bayraklarını döndürür.
int GetOptions() const;
Dönüş Değeri
için CTaskDialog
bayraklar.
Açıklamalar
CTaskDialog Sınıfı'nın kullanabileceği seçenekler hakkında daha fazla bilgi için bkz. CTaskDialog::SetOptions.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::GetSelectedCommandControlID
Seçili komut düğmesi denetimini döndürür.
int GetSelectedCommandControlID() const;
Dönüş Değeri
Seçili durumdaki komut düğmesi denetiminin kimliği.
Açıklamalar
Kullanıcının seçtiği komut düğmesinin kimliğini almak için bu yöntemi kullanmanız gerekmez. Bu kimlik CTaskDialog::D oModal veya CTaskDialog::ShowDialog tarafından döndürülür.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::GetSelectedRadioButtonID
Seçili radyo düğmesini döndürür.
int GetSelectedRadioButtonID() const;
Dönüş Değeri
Seçili radyo düğmesinin kimliği.
Açıklamalar
Kullanıcı seçili radyo düğmesini almak için iletişim kutusunu kapattıktan sonra bu yöntemi kullanabilirsiniz.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::GetVerificationCheckboxState
Doğrulama onay kutusunun durumunu alır.
BOOL GetVerificationCheckboxState() const;
Dönüş Değeri
Onay kutusu işaretliyse DOĞRU, işaretlenmediyse YANLIŞ.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::IsCommandControlEnabled
Bir komut düğmesi denetiminin mi yoksa düğmenin mi etkin olduğunu belirler.
BOOL IsCommandControlEnabled(int nCommandControlID) const;
Parametreler
nCommandControlID
[in] Test etmek için komut düğmesi denetiminin veya düğmesinin kimliği.
Dönüş Değeri
Denetim etkinse TRUE, etkin değilse YANLIŞ.
Açıklamalar
Bu yöntemi, hem komut düğmesi denetimlerinin hem de Sınıf* ortak düğmelerinin kullanılabilirliğini CTaskDialog
belirlemek için kullanabilirsiniz.
nCommandControlID ortak CTaskDialog
bir düğme veya komut düğmesi denetimi için geçerli bir tanımlayıcı değilse, bu yöntem bir özel durum oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::IsRadioButtonEnabled
Radyo düğmesinin etkinleştirilip etkinleştirilmediğini belirler.
BOOL IsRadioButtonEnabled(int nRadioButtonID) const;
Parametreler
nRadioButtonID
[in] Test etmek için radyo düğmesinin kimliği.
Dönüş Değeri
Radyo düğmesi etkinse TRUE, etkin değilse YANLIŞ.
Açıklamalar
nRadioButtonID bir radyo düğmesi için geçerli bir tanımlayıcı değilse, bu yöntem bir özel durum oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::IsSupported
Uygulamayı çalıştıran bilgisayarın uygulamasını destekleyip desteklemediğini CTaskDialog
belirler.
static BOOL IsSupported();
Dönüş Değeri
Bilgisayar uygulamasını destekliyorsa CTaskDialog
TRUE; FALSE aksi takdirde.
Açıklamalar
Çalışma zamanında uygulamanızı çalıştıran bilgisayarın sınıfı desteklenip desteklemediğini CTaskDialog
belirlemek için bu işlevi kullanın. Bilgisayar'ı desteklemiyorsa CTaskDialog
, kullanıcıya bilgi iletmek için başka bir yöntem sağlamanız gerekir. Sınıfını desteklemeyen CTaskDialog
bir bilgisayarda kullanmaya CTaskDialog
çalışırsa uygulamanız kilitlenir.
Örnek
// TODO: Replace the string below with the actual message to the user
CString message("Important information to the user");
// TODO: Replace the string below with the title of this project
CString title("Project Title");
CString emptyString;
if (CTaskDialog::IsSupported())
{
CTaskDialog::ShowDialog(message, emptyString, title, 0, 0,
TDCBF_OK_BUTTON);
}
else
{
AfxMessageBox(message);
}
CTaskDialog::LoadCommandControls
Dize tablosundaki verileri kullanarak komut düğmesi denetimleri ekler.
void LoadCommandControls(
int nIDCommandControlsFirst,
int nIDCommandControlsLast);
Parametreler
nIDCommandControlsFirst
[in] İlk komutun dize kimliği.
nIDCommandControlsLast
[in] Son komutun dize kimliği.
Açıklamalar
Bu yöntem, uygulamanızın kaynak dosyasındaki verileri kullanarak komut düğmesi denetimleri oluşturur. Kaynak dosyasındaki dize tablosunda ilişkili dize kimliklerine sahip çeşitli dizeler vardır. Bu yöntem kullanılarak eklenen yeni komut düğmesi denetimleri, denetimin resim yazısının dizesini ve denetimin kimliğinin dize kimliğini kullanır. Seçilen dize aralığı nIDCommandControlsFirst ve nCommandControlsLast (dahil) tarafından sağlanır. Aralıkta boş bir girdi varsa, yöntemi bu giriş için bir komut düğmesi denetimi eklemez.
Varsayılan olarak, yeni komut düğmesi denetimleri etkinleştirilir ve yükseltme gerektirmez.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::LoadRadioButtons
Dize tablosundaki verileri kullanarak radyo düğmesi denetimleri ekler.
void LoadRadioButtons(
int nIDRadioButtonsFirst,
int nIDRadioButtonsLast);
Parametreler
nIDRadioButtonsFirst
[in] İlk radyo düğmesinin dize kimliği.
nIDRadioButtonsLast
[in] Son radyo düğmesinin dize kimliği.
Açıklamalar
Bu yöntem, uygulamanızın kaynak dosyasındaki verileri kullanarak radyo düğmeleri oluşturur. Kaynak dosyasındaki dize tablosunda ilişkili dize kimliklerine sahip çeşitli dizeler vardır. Bu yöntem kullanılarak eklenen yeni radyo düğmeleri, radyo düğmesinin resim yazısının dizesini ve radyo düğmesinin kimliğinin dize kimliğini kullanır. Seçilen dize aralığı nIDRadioButtonsFirst ve nRadioButtonsLast (dahil) tarafından sağlanır. Aralıkta boş bir girdi varsa, yöntem bu giriş için radyo düğmesi eklemez.
Varsayılan olarak, yeni radyo düğmeleri etkinleştirilir.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::NavigateTo
Odağı başka bir CTaskDialog
öğesine aktarır.
protected:
void NavigateTo(CTaskDialog& oTaskDialog) const;
Parametreler
oTaskDialog
[in] CTaskDialog
Odağı alan.
Açıklamalar
Bu yöntem, oTaskDialog görüntülendiğinde geçerli CTaskDialog
değeri gizler. oTaskDialog geçerli ile aynı konumda CTaskDialog
görüntülenir.
CTaskDialog::OnCommandControlClick
Kullanıcı bir komut düğmesi denetimine tıkladığında çerçeve bu yöntemi çağırır.
virtual HRESULT OnCommandControlClick(int nCommandControlID);
Parametreler
nCommandControlID
[in] Kullanıcının seçtiği komut düğmesinin kimliği denetimi.
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnCreate
Çerçeve, öğesini oluşturdıktan CTaskDialog
sonra bu yöntemi çağırır.
virtual HRESULT OnCreate();
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnDestroy
Çerçeve, yok etmeden CTaskDialog
hemen önce bu yöntemi çağırır.
virtual HRESULT OnDestroy();
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnExpandButtonClick
Kullanıcı genişletme düğmesine tıkladığında çerçeve bu yöntemi çağırır.
virtual HRESULT OnExpandButtonClicked(BOOL bExpanded);
Parametreler
bExpanded
[in] Sıfır olmayan bir değer, ek bilgilerin görüntülendiğini gösterir; 0, ek bilgilerin gizlendiğini gösterir.
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnHelp
Kullanıcı yardım istediğinde çerçeve bu yöntemi çağırır.
virtual HRESULT OnHelp();
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnHyperlinkClick
Kullanıcı bir köprüye tıkladığında çerçeve bu yöntemi çağırır.
virtual HRESULT OnHyperlinkClick(const CString& strHref);
Parametreler
strHref
[in] Köprüyü temsil eden dize.
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Bu yöntem, S_OK döndürmeden önce ShellExecute'i çağırır.
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnInit
başlatıldığında çerçeve bu yöntemi CTaskDialog
çağırır.
virtual HRESULT OnInit();
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnNavigatePage
Çerçeve, CTaskDialog::NavigateTo yöntemine yanıt olarak bu yöntemi çağırır.
virtual HRESULT OnNavigatePage();
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnRadioButtonClick
Kullanıcı bir radyo düğmesi denetimi seçtiğinde çerçeve bu yöntemi çağırır.
virtual HRESULT OnRadioButtonClick(int nRadioButtonID);
Parametreler
nRadioButtonID
[in] Kullanıcının tıklamış olduğu radyo düğmesi denetiminin kimliği.
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnTimer
Zamanlayıcının süresi dolduğunda çerçeve bu yöntemi çağırır.
virtual HRESULT OnTimer(long lTime);
Parametreler
lTime
[in] Oluşturulduktan veya zamanlayıcı sıfırlandıktan sonra CTaskDialog
milisaniye cinsinden süre.
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::OnVerificationCheckboxClick
Kullanıcı doğrulama onay kutusuna tıkladığında çerçeve bu yöntemi çağırır.
virtual HRESULT OnVerificationCheckboxClick(BOOL bChecked);
Parametreler
b İşaretlendi
[in] DOĞRU, doğrulama onay kutusunun seçili olduğunu gösterir; YANLIŞ, olmadığını gösterir.
Dönüş Değeri
Varsayılan uygulama S_OK döndürür.
Açıklamalar
Özel davranış uygulamak için türetilmiş bir sınıfta bu yöntemi geçersiz kılın.
CTaskDialog::RemoveAllCommandControls
komutundaki tüm komut düğmesi denetimlerini CTaskDialog
kaldırır.
void RemoveAllCommandControls();
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::RemoveAllRadioButtons
'den CTaskDialog
tüm radyo düğmelerini kaldırır.
void RemoveAllRadioButtons();
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetCommandControlOptions
üzerindeki CTaskDialog
bir komut düğmesi denetimini güncelleştirir.
void SetCommandControlOptions(
int nCommandControlID,
BOOL bEnabled,
BOOL bRequiresElevation = FALSE);
Parametreler
nCommandControlID
[in] Güncelleştirilecek komut denetiminin kimliği.
bEnabled
[in] Belirtilen komut düğmesi denetiminin etkin mi yoksa devre dışı mı olduğunu gösteren boole parametresi.
bRequiresElevation
[in] Belirtilen komut düğmesi denetiminin yükseltilmesi gerekip gerekmediğini belirten boole parametresi.
Açıklamalar
Bir komut düğmesi denetiminin etkinleştirilip etkinleştirilmediğini veya sınıfa eklendikten sonra yükseltme gerekip gerekmediğini değiştirmek için CTaskDialog
bu yöntemi kullanın.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::SetCommonButtonOptions
Ortak düğmelerin bir alt kümesini etkinleştirilecek ve UAC yükseltmesi gerektirecek şekilde güncelleştirir.
void SetCommonButtonOptions(
int nDisabledButtonMask,
int nElevationButtonMask = 0);
Parametreler
nDisabledButtonMask
[in] Devre dışı bırakmak için ortak düğmeler için bir maske.
nElevationButtonMask
[in] Yükseltme gerektiren ortak düğmeler için bir maske.
Açıklamalar
CTaskDialog oluşturucu::CTaskDialog ve CTaskDialog::SetCommonButtons yöntemini kullanarak CTaskDialog Sınıfının bir örneğinde kullanılabilen ortak düğmeleri ayarlayabilirsiniz. CTaskDialog::SetCommonButtonOptions
yeni ortak düğmelerin eklenmesini desteklemez.
Bu yöntemi, için kullanılamayan ortak bir düğmeyi devre dışı bırakmak veya yükseltmek için kullanırsanız, bu CTaskDialog
yöntem ENSURE makrosunu kullanarak bir özel durum oluşturur.
Bu yöntem, daha önce devre dışı bırakılmış olsa bile nDisabledButtonMask içinde olmayan ancak için kullanılabilir CTaskDialog
olan tüm düğmeleri etkinleştirir. Bu yöntem, yükseltmeyi benzer şekilde işler: ortak düğme kullanılabiliyorsa ancak nElevationButtonMask'e dahil değilse, ortak düğmeleri yükseltme gerektirmediği gibi kaydeder.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title);
// Create a button mask.
int buttons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON;
buttons |= TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
taskDialog.SetCommonButtons(buttons);
// Disable the close button and make the retry button require
// elevation.
taskDialog.SetCommonButtonOptions(TDCBF_CLOSE_BUTTON,
TDCBF_RETRY_BUTTON);
taskDialog.DoModal();
CTaskDialog::SetCommonButtons
öğesine ortak düğmeler CTaskDialog
ekler.
void SetCommonButtons(
int nButtonMask,
int nDisabledButtonMask = 0,
int nElevationButtonMask = 0);
Parametreler
nButtonMask
[in] öğesine eklenecek düğmelerin CTaskDialog
maskesi.
nDisabledButtonMask
[in] Devre dışı bırakıla düğmelerin maskesi.
nElevationButtonMask
[in] Yükseltme gerektiren düğmelerin maskesi.
Açıklamalar
Sınıfın bu örneği CTaskDialog
için görüntüleme penceresi oluşturulduktan sonra bu yöntemi çağıramazsınız. Bunu yaparsanız, bu yöntem bir özel durum oluşturur.
nButtonMask tarafından belirtilen düğmeler, daha önce öğesine CTaskDialog
eklenen tüm yaygın düğmeleri geçersiz kılar. Yalnızca nButtonMask içinde belirtilen düğmeler kullanılabilir.
nDisabledButtonMask veya nElevationButtonMask, nButtonMask içinde olmayan bir düğme içeriyorsa, bu yöntem ENSURE makrosunu kullanarak bir özel durum oluşturur.
Varsayılan olarak, tüm ortak düğmeler etkinleştirilir ve yükseltme gerektirmez.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title);
// Create a button mask.
int buttons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON;
buttons |= TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
taskDialog.SetCommonButtons(buttons);
// Disable the close button and make the retry button require
// elevation.
taskDialog.SetCommonButtonOptions(TDCBF_CLOSE_BUTTON,
TDCBF_RETRY_BUTTON);
taskDialog.DoModal();
CTaskDialog::SetContent
içeriğini CTaskDialog
güncelleştirir.
void SetContent(const CString& strContent);
Parametreler
strContent
[in] Kullanıcıya görüntülenecek dize.
Açıklamalar
sınıfının içeriği CTaskDialog
, iletişim kutusunun ana bölümünde kullanıcıya görüntülenen metindir.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetDefaultCommandControl
Varsayılan komut düğmesi denetimini belirtir.
void SetDefaultCommandControl(int nCommandControlID);
Parametreler
nCommandControlID
[in] Varsayılan olarak komut düğmesi denetiminin kimliği.
Açıklamalar
Varsayılan komut düğmesi denetimi, kullanıcıya ilk kez görüntülendiğinde CTaskDialog
seçilen denetimdir.
Bu yöntem, nCommandControlID tarafından belirtilen komut düğmesi denetimini bulamazsa bir özel durum oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::SetDefaultRadioButton
Varsayılan radyo düğmesini belirtir.
void SetDefaultRadioButton(int nRadioButtonID);
Parametreler
nRadioButtonID
[in] Varsayılan olarak radyo düğmesinin kimliği.
Açıklamalar
Varsayılan radyo düğmesi, kullanıcıya ilk kez görüntülendiğinde CTaskDialog
seçilen düğmedir.
Bu yöntem, nRadioButtonID tarafından belirtilen radyo düğmesini bulamazsa bir özel durum oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetDialogWidth
öğesinin genişliğini CTaskDialog
ayarlar.
void SetDialogWidth(int nWidth = 0);
Parametreler
nWidth
[in] İletişim kutusunun piksel cinsinden genişliği.
Açıklamalar
nWidth parametresi 0'dan büyük veya buna eşit olmalıdır. Aksi takdirde, bu yöntem bir özel durum oluşturur.
nWidth 0 olarak ayarlanırsa, bu yöntem iletişim kutusunu varsayılan boyuta ayarlar.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetExpansionArea
öğesinin genişletme alanını CTaskDialog
güncelleştirir.
void SetExpansionArea(
const CString& strExpandedInformation,
const CString& strCollapsedLabel = _T(""),
const CString& strExpandedLabel = _T(""));
Parametreler
strExpandedInformation
[in] Kullanıcı genişletme düğmesine tıkladığında iletişim kutusunun ana gövdesinde görüntülenen dize CTaskDialog
.
strCollapsedLabel
[in] Genişletilmiş alan daraltıldığında genişletme düğmesinin yanında görüntülenen dize CTaskDialog
.
strExpandedLabel
[in] Genişletilmiş alan görüntülendiğinde genişletme düğmesinin yanında görüntülenen dize CTaskDialog
.
Açıklamalar
sınıfının genişletme alanı CTaskDialog
, kullanıcıya ek bilgi sağlamanıza olanak tanır. Genişletme alanı, başlığının ve içerik dizesinin CTaskDialog
hemen altında bulunan öğesinin ana bölümündedir.
CTaskDialog
ilk kez görüntülendiğinde, genişletilmiş bilgileri göstermez ve genişletme düğmesinin yanına yerleştirirstrCollapsedLabel
. Kullanıcı genişletme düğmesine tıkladığında strExpandedInformation CTaskDialog
değerini görüntüler ve etiketi strExpandedLabel olarak değiştirir.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetFooterIcon
alt bilgi simgesini CTaskDialog
güncelleştirir.
void SetFooterIcon(HICON hFooterIcon);
void SetFooterIcon(LPCWSTR lpszFooterIcon);
Parametreler
hFooterIcon
[in] için yeni simge CTaskDialog
.
lpszFooterIcon
[in] için yeni simge CTaskDialog
.
Açıklamalar
Alt bilgi simgesi, CTaskDialog Sınıfının en altında görüntülenir. İlişkili alt bilgi metni olabilir. Alt bilgi metnini CTaskDialog::SetFooterText ile değiştirebilirsiniz.
Bu yöntem, görüntüleniyorsa veya giriş parametresi NULL ise ENSURE makrosunun CTaskDialog
bir özel durumu oluşturur.
ACTaskDialog
, yalnızca alt bilgi olarak veya LPCWSTR
simgesini kabul HICON
edebilir. Bu, oluşturucuda veya CTaskDialog::SetOptions içinde TDF_USE_HICON_FOOTER seçeneği ayarlanarak yapılandırılır. Varsayılan olarak, CTaskDialog
alt bilgi simgesi için giriş türü olarak kullanılacak LPCWSTR
şekilde yapılandırılır. Uygunsuz türü kullanarak simgeyi ayarlamaya çalışırsanız bu yöntem bir özel durum oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetFooterText
alt bilgisinde CTaskDialog
bulunan metni güncelleştirir.
void SetFooterText(const CString& strFooterText);
Parametreler
strFooterText
[in] Alt bilgi için yeni metin.
Açıklamalar
Alt bilgi simgesi alt kısmındaki alt bilgi metninin CTaskDialog
yanında görünür. Alt bilgi simgesini CTaskDialog::SetFooterIcon ile değiştirebilirsiniz.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetMainIcon
öğesinin ana simgesini CTaskDialog
güncelleştirir.
void SetMainIcon(HICON hMainIcon);
void SetMainIcon(LPCWSTR lpszMainIcon);
Parametreler
hMainIcon
[in] Yeni simge.
lpszMainIcon
[in] Yeni simge.
Açıklamalar
Bu yöntem, görüntüleniyorsa veya giriş parametresi NULL ise ENSURE makrosunun CTaskDialog
bir özel durumu oluşturur.
, CTaskDialog
yalnızca bir HICON
veya LPCWSTR
simgesini ana simge olarak kabul edebilir. Oluşturucuda veya CTaskDialog::SetOptions yönteminde TDF_USE_HICON_MAIN seçeneğini ayarlayarak bunu yapılandırabilirsiniz. varsayılan olarak, CTaskDialog
ana simge için giriş türü olarak kullanılacak LPCWSTR
şekilde yapılandırılır. Uygunsuz türü kullanarak simgeyi ayarlamaya çalışırsanız bu yöntem bir özel durum oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetMainInstruction
öğesinin ana yönergesini CTaskDialog
güncelleştirir.
void SetMainInstruction(const CString& strInstructions);
Parametreler
strInstructions
[in] Yeni ana yönerge.
Açıklamalar
Sınıfın CTaskDialog
ana yönergesi, kullanıcıya büyük bir kalın yazı tipinde görüntülenen metindir. Başlık çubuğunun altındaki iletişim kutusunda bulunur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetOptions
için seçenekleri yapılandırılır CTaskDialog
.
void SetOptions(int nOptionFlag);
Parametreler
nOptionFlag
[in] için CTaskDialog
kullanılacak bayrak kümesi.
Açıklamalar
Bu yöntem, için CTaskDialog
tüm geçerli seçenekleri temizler. Geçerli seçenekleri korumak için önce CTaskDialog::GetOptions ile bunları almanız ve ayarlamak istediğiniz seçeneklerle birleştirmeniz gerekir.
Aşağıdaki tabloda tüm geçerli seçenekler listelenmiştir.
Veri Akışı Adı | Açıklama |
---|---|
TDF_ENABLE_HYPERLINKS | içindeki CTaskDialog köprüleri etkinleştirir. |
TDF_USE_HICON_MAIN | CTaskDialog öğesini ana simge için kullanacak HICON şekilde yapılandırılır. Bunun alternatifi bir LPCWSTR kullanmaktır. |
TDF_USE_HICON_FOOTER | CTaskDialog alt bilgi simgesi için kullanmak HICON üzere öğesini yapılandırılır. Bunun alternatifi bir LPCWSTR kullanmaktır. |
TDF_ALLOW_DIALOG_CANCELLATION | İptal düğmesi etkinleştirilmemiş olsa bile kullanıcının CTaskDialog klavyeyi veya iletişim kutusunun sağ üst köşesindeki simgeyi kullanarak kapatmasını sağlar. Bu bayrak ayarlanmadıysa ve İptal düğmesi etkinleştirilmediyse, kullanıcı Alt+F4, Escape tuşu veya başlık çubuğunun kapat düğmesini kullanarak iletişim kutusunu kapatamaz. |
TDF_USE_COMMAND_LINKS | CTaskDialog komutunu komut düğmesi denetimlerini kullanacak şekilde yapılandırılır. |
TDF_USE_COMMAND_LINKS_NO_ICON | komutunu, denetimin CTaskDialog yanında bir simge görüntülemeden komut düğmesi denetimlerini kullanacak şekilde yapılandırılır. TDF_USE_COMMAND_LINKS TDF_USE_COMMAND_LINKS_NO_ICON geçersiz kılar. |
TDF_EXPAND_FOOTER_AREA | Genişletme alanının şu anda genişletilmiş olduğunu gösterir. |
TDF_EXPANDED_BY_DEFAULT | Genişletme alanının varsayılan olarak genişletilip genişletileceğini belirler. |
TDF_VERIFICATION_FLAG_CHECKED | Doğrulama onay kutusunun seçili olduğunu gösterir. |
TDF_SHOW_PROGRESS_BAR | bir ilerleme çubuğu görüntülemek için öğesini CTaskDialog yapılandırılır. |
TDF_SHOW_MARQUEE_PROGRESS_BAR | İlerleme çubuğunu kayan yazı ilerleme çubuğu olacak şekilde yapılandırılır. Bu seçeneği etkinleştirirseniz, TDF_SHOW_PROGRESS_BAR beklenen davranışa sahip olacak şekilde ayarlamanız gerekir. |
TDF_CALLBACK_TIMER | Geri çağırma aralığının CTaskDialog yaklaşık 200 milisaniye olarak ayarlandığını gösterir. |
TDF_POSITION_RELATIVE_TO_WINDOW | CTaskDialog öğesini üst pencereye göre ortalanacak şekilde yapılandırılır. Bu bayrak etkin değilse, CTaskDialog izleyiciye göre ortalanır. |
TDF_RTL_LAYOUT | sağdan sola okuma düzeni için öğesini CTaskDialog yapılandırılır. |
TDF_NO_DEFAULT_RADIO_BUTTON | Görüntülendiğinde radyo düğmesinin CTaskDialog seçilmediğini gösterir. |
TDF_CAN_BE_MINIMIZED | Kullanıcının simge durumuna küçültülmüş olmasını CTaskDialog sağlar. Bu seçeneği desteklemek için kalıcı CTaskDialog olamaz. MFC, modeless CTaskDialog 'ı desteklemediğinden MFC bu seçeneği desteklemez. |
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetProgressBarMarquee
için bir kayan CTaskDialog
yazı çubuğu yapılandırıp iletişim kutusuna ekler.
void SetProgressBarMarquee(
BOOL bEnabled = TRUE,
int nMarqueeSpeed = 0);
Parametreler
bEnabled
[in] Kayan yazı çubuğunu etkinleştirmek için TRUE; Kayan yazı çubuğunu devre dışı bırakmak ve içinden CTaskDialog
kaldırmak için YANLIŞ
nMarqueeSpeed
[in] Kayan yazı çubuğunun hızını gösteren tamsayı.
Açıklamalar
Kayan yazı çubuğu, sınıfın ana metninin CTaskDialog
altında görünür.
Kayan yazı çubuğunun hızını ayarlamak için nMarqueeSpeed kullanın; daha büyük değerler daha yavaş bir hız gösterir. nMarqueeSpeed için 0 değeri, kayan yazı çubuğunun Windows için varsayılan hızda hareket etmesini sağlar.
nMarqueeSpeed değeri 0'dan küçükse, bu yöntem ENSURE makrosunun bir özel durumu oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarPosition
İlerleme çubuğunun konumunu ayarlar.
void SetProgressBarPosition(int nProgressPos);
Parametreler
nProgressPos
[in] İlerleme çubuğunun konumu.
Açıklamalar
nProgressPos ilerleme çubuğu aralığında değilse, bu yöntem ENSURE makrosunda bir özel durum oluşturur. İlerleme çubuğu aralığını CTaskDialog::SetProgressBarRange ile değiştirebilirsiniz.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarRange
İlerleme çubuğunun aralığını ayarlar.
void SetProgressBarRange(
int nRangeMin,
int nRangeMax);
Parametreler
nRangeMin
[in] İlerleme çubuğunun alt sınırı.
nRangeMax
[in] İlerleme çubuğunun üst sınırı.
Açıklamalar
İlerleme çubuğunun konumu nRangeMin ve nRangeMax'a göredir. Örneğin, nRangeMin 50 ve nRangeMax 100 ise, ilerleme çubuğunun ortasında 75 konumu bulunur. İlerleme çubuğunun konumunu ayarlamak için CTaskDialog::SetProgressBarPosition kullanın.
İlerleme çubuğunu görüntülemek için TDF_SHOW_PROGRESS_BAR seçeneğinin etkinleştirilmesi ve TDF_SHOW_MARQUEE_PROGRESS_BAR etkinleştirilmemesi gerekir. Bu yöntem TDF_SHOW_PROGRESS_BAR otomatik olarak ayarlar ve TDF_SHOW_MARQUEE_PROGRESS_BAR temizler. CTaskDialog Sınıfının bu örneğinin seçeneklerini el ile değiştirmek için CTaskDialog::SetOptions kullanın.
nRangeMin, nRangeMax değerinden küçük değilse, bu yöntem ENSURE makrosunun bir özel durumu oluşturur. Bu yöntem, zaten görüntüleniyorsa ve bir kayan CTaskDialog
yazı ilerleme çubuğuna sahipse bir özel durum oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarState
İlerleme çubuğunun durumunu ayarlar ve üzerinde CTaskDialog
görüntüler.
void SetProgressBarState(int nState = PBST_NORMAL);
Parametreler
nState
[in] İlerleme çubuğunun durumu. Olası değerler için Açıklamalar bölümüne bakın.
Açıklamalar
Bu yöntem, zaten görüntüleniyorsa ve bir kayan yazı ilerleme çubuğu varsa, ENSURE makrosunun CTaskDialog
bir özel durumu oluşturur.
Aşağıdaki tabloda nState için olası değerler listelemektedir. Tüm bu durumlarda, ilerleme çubuğu belirlenen durdurma konumuna ulaşana kadar normal renkle doldurulur. Bu noktada, duruma göre renk değişir.
Veri Akışı Adı | Açıklama |
---|---|
PBST_NORMAL | İlerleme çubuğu dolduktan sonra, CTaskDialog çubuğun rengini değiştirmez. Varsayılan olarak, normal renk yeşildir. |
PBST_ERROR | İlerleme çubuğu dolduktan sonra, CTaskDialog çubuğun rengi hata rengine dönüşür. Varsayılan olarak, bu kırmızıdır. |
PBST_PAUSED | İlerleme çubuğu dolduktan sonra, CTaskDialog çubuğun rengini duraklatılmış renge değiştirir. Varsayılan olarak, bu sarıdır. |
CTaskDialog::SetProgressBarPosition ile ilerleme çubuğunun nerede duracağı ayarlayabilirsiniz.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetRadioButtonOptions
Radyo düğmesini etkinleştirir veya devre dışı bırakır.
void SetRadioButtonOptions(
int nRadioButtonID,
BOOL bEnabled);
Parametreler
nRadioButtonID
[in] Radyo düğmesi denetiminin kimliği.
bEnabled
[in] Radyo düğmesini etkinleştirmek için TRUE; Radyo düğmesini devre dışı bırakmak için YANLIŞ.
Açıklamalar
nRadioButtonID bir radyo düğmesi için geçerli bir kimlik değilse, bu yöntem ENSURE makrosuyla bir özel durum oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetVerificationCheckbox
Doğrulama onay kutusunun işaretli durumunu ayarlar.
void SetVerificationCheckbox(BOOL bChecked);
Parametreler
b İşaretlendi
[in] Görüntülendiğinde CTaskDialog
doğrulama onay kutusunun seçili olması için DOĞRU; Görüntülendiğinde doğrulama onay kutusunun seçili olmasını sağlamak için CTaskDialog
YANLIŞ.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::SetVerificationCheckboxText
Doğrulama onay kutusunun sağındaki görüntülenen metni ayarlar.
void SetVerificationCheckboxText(CString& strVerificationText);
Parametreler
strVerificationText
[in] Bu yöntemin doğrulama onay kutusunun yanında görüntülediği metin.
Açıklamalar
Sınıfın bu örneği zaten görüntüleniyorsa, bu yöntem ENSURE makrosunun CTaskDialog
bir özel durumu oluşturur.
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::SetWindowTitle
öğesinin CTaskDialog
başlığını ayarlar.
void SetWindowTitle(CString& strWindowTitle);
Parametreler
strWindowTitle
[in] için CTaskDialog
yeni başlık.
Açıklamalar
Örnek
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::ShowDialog
oluşturur CTaskDialog
ve görüntüler.
static INT_PTR ShowDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nIDCommandControlsFirst,
int nIDCommandControlsLast,
int nCommonButtons = TDCBF_YES_BUTTON | TDCBF_NO_BUTTON,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
Parametreler
strContent
[in] öğesinin içeriği CTaskDialog
için kullanılacak dize.
strMainInstruction
[in] öğesinin ana yönergesi CTaskDialog
.
strTitle
[in] öğesinin CTaskDialog
başlığı.
nIDCommandControlsFirst
[in] İlk komutun dize kimliği.
nIDCommandControlsLast
[in] Son komutun dize kimliği.
nCommonButtons
[in] öğesine eklenecek düğmelerin CTaskDialog
maskesi.
nTaskDialogOptions
[in] için CTaskDialog
kullanılacak seçenekler kümesi.
strFooter
[in] Alt bilgi olarak kullanılacak dize.
Dönüş Değeri
Kullanıcı tarafından yapılan seçime karşılık gelen bir tamsayı.
Açıklamalar
Bu statik yöntem, kodunuzda açıkça bir nesne oluşturmadan sınıfın CTaskDialog
bir CTaskDialog
örneğini oluşturmanıza olanak tanır. Nesne olmadığındanCTaskDialog
, kullanıcıya göstermek CTaskDialog
için bu yöntemi kullanırsanız öğesinin CTaskDialog
diğer yöntemlerini çağıramazsınız.
Bu yöntem, uygulamanızın kaynak dosyasındaki verileri kullanarak komut düğmesi denetimleri oluşturur. Kaynak dosyasındaki dize tablosunda ilişkili dize kimliklerine sahip çeşitli dizeler vardır. Bu yöntem, nIDCommandControlsFirst ile nCommandControlsLast (dahil) arasında dize tablosundaki her geçerli girdi için bir komut düğmesi denetimi ekler. Bu komut düğmesi denetimleri için, dize tablosundaki dize denetimin resim yazısıdır ve dize kimliği denetimin kimliğidir.
Geçerli seçeneklerin listesi için bkz . CTaskDialog::SetOptions .
kullanıcı CTaskDialog
ortak bir düğmeyi, komut bağlantısı denetimini seçtiğinde veya kapattığında CTaskDialog
kapanır. Dönüş değeri, kullanıcının iletişim kutusunu nasıl kapattığını gösteren tanımlayıcıdır.
Örnek
// TODO: Replace the string below with the actual message to the user
CString message("Important information to the user");
// TODO: Replace the string below with the title of this project
CString title("Project Title");
CString emptyString;
if (CTaskDialog::IsSupported())
{
CTaskDialog::ShowDialog(message, emptyString, title, 0, 0,
TDCBF_OK_BUTTON);
}
else
{
AfxMessageBox(message);
}
CTaskDialog::TaskDialogCallback
Çerçeve, çeşitli Windows iletilerine yanıt olarak bu yöntemi çağırır.
friend:
HRESULT TaskDialogCallback(
HWND hWnd,
UINT uNotification,
WPARAM wParam,
LPARAM lParam,
LONG_PTR dwRefData);
Parametreler
hwnd
[in] yapısına yönelik m_hWnd
CTaskDialog
bir tanıtıcı.
uNotification
[in] Oluşturulan iletiyi belirten bildirim kodu.
wParam
[in] İleti hakkında daha fazla bilgi.
lParam
[in] İleti hakkında daha fazla bilgi.
dwRefData
[in] Geri çağırma iletisinin CTaskDialog
uygulandığı nesneye yönelik bir işaretçi.
Dönüş Değeri
Belirli bir bildirim koduna bağlıdır. Daha fazla bilgi için Açıklamalar bölümüne bakın.
Açıklamalar
varsayılan uygulaması TaskDialogCallback
belirli bir iletiyi işler ve ardından CTaskDialog Sınıfının uygun On yöntemini çağırır. Örneğin, TDN_BUTTON_CLICKED iletisine TaskDialogCallback
yanıt olarak CTaskDialog::OnCommandControlClick çağrısı yapar.
wParam ve lParam değerleri, oluşturulan belirli iletiye bağlıdır. Bu değerlerden birinin veya her ikisinin de boş olması mümkündür. Aşağıdaki tabloda desteklenen varsayılan bildirimler ve wParam ile lParam değerlerinin neyi temsil ettiğini listeler. Türetilmiş bir sınıfta bu yöntemi geçersiz kılarsanız, aşağıdaki tablodaki her ileti için geri çağırma kodunu uygulamanız gerekir.
Bildirim İletisi | wParam Değeri | lParam Değeri |
---|---|---|
TDN_CREATED | Kullanılmadı. | Kullanılmadı. |
TDN_NAVIGATED | Kullanılmadı. | Kullanılmadı. |
TDN_BUTTON_CLICKED | Komut düğmesi denetim kimliği. | Kullanılmadı. |
TDN_HYPERLINK_CLICKED | Kullanılmadı. | Bağlantıyı içeren bir LPCWSTR yapısı. |
TDN_TIMER | Oluşturulduktan veya zamanlayıcı sıfırlandıktan sonra CTaskDialog milisaniye cinsinden süre. |
Kullanılmadı. |
TDN_DESTROYED | Kullanılmadı. | Kullanılmadı. |
TDN_RADIO_BUTTON_CLICKED | Radyo düğmesi kimliği. | Kullanılmadı. |
TDN_DIALOG_CONSTRUCTED | Kullanılmadı. | Kullanılmadı. |
TDN_VERIFICATION_CLICKED | Onay kutusu işaretliyse 1, işaretli değilse 0. | Kullanılmadı. |
TDN_HELP | Kullanılmadı. | Kullanılmadı. |
TDN_EXPANDO_BUTTON_CLICKED | Genişletme alanı daraltılmışsa 0; genişletme metni görüntüleniyorsa sıfır olmayan. | Kullanılmadı. |
Ayrıca bkz.
Sınıflar
CObject Sınıfı
Hiyerarşi Grafiği
İzlenecek yol: Bir Uygulamaya CTaskDialog Ekleme