hallo,
ich habe Probleme mit der Basisklasse CPropertyPage.
Es gibt dort 4 Buttons (OK, Abbrechen, Übernehmen & Hilfe) auf die ich nicht zugreifen kann.
Mein Ziel wäre folgendes:
1. den Übernehmen Button will ich entfernen oder generell deaktivieren weil er nicht
benötigt wird
2. der OK Button soll erst aktiviert werden, wenn alle Reiterkarten nacheinnander
durchgeclickt wurden, um nötige interne Berechnungen abzuschließen, da es sonst
zur Fehlermeldung kommt. Also erst wenn ich das Sheet "Verschiebungen" erreicht
habe, wird er aktiviert.
3. der Hilfe Button soll zu einer externen URL verlinkt werden, d.h. es öffnet sich der
Standard Browser. Mit welchem Befehl wird das erreicht?
hier ein Bild zur Übersicht:
Startscreen
ProgrammAblauf
zum Quelltext:
ich habe Probleme mit der Basisklasse CPropertyPage.
Es gibt dort 4 Buttons (OK, Abbrechen, Übernehmen & Hilfe) auf die ich nicht zugreifen kann.
Mein Ziel wäre folgendes:
1. den Übernehmen Button will ich entfernen oder generell deaktivieren weil er nicht
benötigt wird
2. der OK Button soll erst aktiviert werden, wenn alle Reiterkarten nacheinnander
durchgeclickt wurden, um nötige interne Berechnungen abzuschließen, da es sonst
zur Fehlermeldung kommt. Also erst wenn ich das Sheet "Verschiebungen" erreicht
habe, wird er aktiviert.
3. der Hilfe Button soll zu einer externen URL verlinkt werden, d.h. es öffnet sich der
Standard Browser. Mit welchem Befehl wird das erreicht?
hier ein Bild zur Übersicht:
Startscreen
ProgrammAblauf
zum Quelltext:
Code:
#include "StdAfx.h"
#include "Knotenbox.h"
#include "Staebebox.h"
#include "Auflagerbox.h"
#include "Lastenbox.h"
#include "Kraeftebox.h"
#include "Verschiebungenbox.h"
#include "FW_Fachwerk.h"
#include "Zeichnen.h"
#include <aced.h>
#include <rxregsvc.h>
#include <acutads.h>
#include <adscodes.h>
//-----------------------------------------------------------------------------
#define szRDS _RXST("")
//-----------------------------------------------------------------------------
//----- ObjectARX EntryPoint
class CFachwerkApp : public AcRxArxApp {
public:
CFachwerkApp () : AcRxArxApp () {}
virtual AcRx::AppRetCode On_kInitAppMsg (void *pkt) {
AcRx::AppRetCode retCode =AcRxArxApp::On_kInitAppMsg (pkt) ;
// TODO: Add your initialization code here
acutPrintf ("\nGeben Sie fachwerk oder go ein!:\n");
return (retCode) ;
}
virtual AcRx::AppRetCode On_kUnloadAppMsg (void *pkt) {
AcRx::AppRetCode retCode =AcRxArxApp::On_kUnloadAppMsg (pkt) ;
// TODO: Add your code here
return (retCode) ;
}
virtual void RegisterServerComponents () {
}
// ----- Fachwerk.go command
static void Fachwerkgo(void)
{
// Add your code for command Fachwerk._go here
CFW_Fachwerk fachwerk;
// Erzeugen einer Rahmendialogbox
CPropertySheet PropertySheet ("Fachwerkberechnung");
// Erzeugen der Dialogboxseiten
Knotenbox KnotenPage(fachwerk.getASystem());
Staebebox StaebePage(fachwerk.getASystem());
Auflagerbox AuflagerPage(fachwerk.getASystem());
Lastenbox LastenPage(&fachwerk);
Kraeftebox KraeftePage(&fachwerk);
Verschiebungenbox VerschiebungenPage(&fachwerk);
// Einfügen der Dialogboxseiten in die Standard-Rahmendialogbox
PropertySheet.AddPage(&KnotenPage);
PropertySheet.AddPage(&StaebePage);
PropertySheet.AddPage(&AuflagerPage);
PropertySheet.AddPage(&LastenPage);
PropertySheet.AddPage(&KraeftePage);
PropertySheet.AddPage(&VerschiebungenPage);
// Übernehmen Button entfernen
// sheet.m_psh.dwFlags |= PSH_NOAPPLYNOW;
// Erzeugen der Zeichnung, wenn OK-Button geklickt
if(PropertySheet.DoModal() == IDOK)
{
Zeichnen z(fachwerk.getASystem(), fachwerk.getKnotenLasten(), fachwerk.getEinflusslinie());
}
}
} ;