CPropertySheet und die Buttons
-
Hallo Leute,
mal wieder ne Frage.
Ich generiere in meiner SDI Anwendung ein Modales Dialog mit CPropertySheet.
In diesem generiere ich ein CPropertyPage.Jetzt erstellt die Anwendung automatisch die Ok Abrechen und Übernehmen Button.
Ich benötige aber nur die Abbrechen Button.
Wo kann ich diese Button steuern oder entfernen ??Gruß und Danke
andy_mann
-
Hallo,
kann mir niemand sagen, wie man die Butten im CPropertySheet Dialog abschaltet ??
Gruß
andy_mann
-
Kommst du mit GetDlgItem da dran? Dann kannst du ja mit
GetDlgItem(IDOK)->ShowWindow(SW_HIDE);
einfach verstecken.
Ich hab auch schon mal ne Anleitung gesehen - aber frag blos nicht wo.
-
Servus
Habe vor einigen Tagen gleiches Problem gehabt!
Bekam dies als Antwort:
CMyPropSheet myPropSheet(..); myPropSheet.m_psh.dwFlags |= PSH_NOAPPLYNOW;
Leider komme ich aber mit dem Konstr. gar nicht klar!
Falls du etwas damit anfangen kannst, bitte! Wäre nett wenn du es etwas genauer postest...Mfg
RunSeb
-
Leite eine Klasse von CPropertySheet ab und erledige das in OnInitDialog
BOOL CMyPropertySheet::OnInitDialog() { ::ShowWindow(::GetDlgItem(m_hWnd, IDOK), SW_HIDE); ...
-
He Super,
klappt wunderbar.
Jetzt habe ich nur das Problem, das ich nicht weiß wie der Button Übernehmen heißt ??
Habe schon ein paar sachen ausprobiert, tut aber nicht..
Weiß es jemand ??
Gruß
andy_mann
-
Das kriegst du mit dem bereits erwähnten Flag PSH_NOAPPLYNOW hin:
Z.B.CMyPropertySheet::CMyPropertySheet(UINT nIDCaption, CWnd* pParentWnd, UINT SelectPage) : CPropertySheet(nIDCaption, pParentWnd, SelectPage) { m_psh.dwFlags |= PSH_NOAPPLYNOW; }
-
Ahja, besten Dank,
hat funktioniert.
Die Optik und die Anpassung des Rahmens ist allerdings nicht so doll...
Gruß
andy_mann
-
Wenn du den Button weiter rüber schieben willst, kannst du das ja mit MoveWindow machen.
Ich glaube der hing dann so mitten in der Luft...
-
Hallo nochmal ich,
wie kann ich eigentlich weitere Eigenschaften des Dialoges verändern ??
Ich möchte die größe des Dialoges veränderbar machen,
Das Steuerelement auf Toolfenster setzen.
Gru0 und Danke
andy_mann
-
Hallo nochmal ich,
wie kann ich eigentlich weitere Eigenschaften des Dialoges verändern ??
Ich möchte die größe des Dialoges veränderbar machen,
Das Steuerelement auf Toolfenster setzen.
Gru0 und Danke
andy_mann
-
Normalerweise müsstest du den Style deins PropSheets (da von CWnd abgeleitet) über die Überschreibung von OnPreCreate() machen können, denn da bekommst du eine CREATESTRUCT cs übergeben, die du nach deinen Wünschen modifizieren kannst (z.B. auch den Rand weg machen, etc...). Dafür musst du dir jedoch deine eigene Klasse davon ableiten.
Gruß Bernd
-
Ich habe auch ein änliches Problem, also ich will den Style des Propertysheets so modifizeren das keine Tabs und kein Rand angezeigt wird.
Ich habe die Fkt PreCreateWindow überschrieben um so die CREATE Struktur zu modifizieren aber ich finde keine flags die angeben ob der Rand oder die Tabs dargestellt werden sollen.Verwende ich die falsche Struktur?
die style und wsExStyle Eigenschaften kann man ja auch einfach bei der Konstruktion einer CPropertySheet Instanz angeben (als bei Create oder CreateEx)
warum also eine Klasse davon ableiten?
liege ich da falsch?typedef struct tagCREATESTRUCT { LPVOID lpCreateParams; HANDLE hInstance; HMENU hMenu; HWND hwndParent; int cy; int cx; int y; int x; LONG style; // kann man bei Create modifiziern oder? LPCSTR lpszName; LPCSTR lpszClass; DWORD dwExStyle; // kann man bei CreateEx modifiziern oder? } CREATESTRUCT;
-
scheint ja weit verbreitet zu sein...
hi, ich suche schon seit oktober noch einer lösung...
kann mir mal wer erklären, wie ich das propertysheet unmodal erzeuge,
bzw wie genau ich mit den parametern von create umgehen muss?
mein problem besteht darin, dass ich keine buttons unter den pages haben will, derzeit ist es modal, aber wenn ich im construkter ein create(...,...,...)einfüge, dann sind sie weg, nur stürzt das programm auch unweigerlich ab, also hab ich nichts gewonnen.
aja, nur für den fall der fälle: studio.net, einfache anwendung - wenn man das noch einfach nennen mag!*gg*
wäre echt toll, wenn jemand was einfällt oder besser noch was weiss!
deKeep