Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » selbsterstelltes Steuerelement (visual Studio) anpassen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
29.08.2003, 10:47 Uhr
~Gast
Gast


Hab ein eigenes Steuerelement erzeugt! Es soll als Statusbar dienen. Es besteht aus einer Form auf der ein Statusbar sitzt welcher 3 Panel besitzt. Das erste besitzt AutoSize auf Spring die anderen beiden sind fest. Im 2. lasse ich per Timer das aktuelle Datum und die Uhrzeit anzeigen. Auf dem 3. Panel sitzt ein Bild und auf dem 1. ein Progressbar und ein Button. Wenn dieses Steuerelement vergrößert bzw. verkleinert wird verändert sich die Größe des Progressbars bzw. die Position des Bildes und des Buttons dynamisch. Benutze ich dieses Steuerelement jetzt in einer anderen Anwendung habe ich leider nur die Eigenschaften/Ereignisse des Formulars.

Wie kann ich selber festlegen was als Eigenschaften/Ereignisse angezeigt wird?( z.B. möchte ich den Button bzw. Progressbar ausblendbar machen und als Ereignis den Button-Klick haben)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.08.2003, 18:53 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
Du mußt eine get und/oder set Methode für die jeweilige Eigenschaft schreiben.
Bsp. Size:

C++:
public new Size Size{
    get{
        return base.Size;
    }
    set{
        this.Width = value.Width;
        base.Height = DefaultHeight;
    }
}


base ist wie ein this-Zeiger, jedoch bezieht er sich nicht auf Mitglieder der Klasse, sondern auf die Mitglieder der Basisklasse, von welcher Du Dein Steuerelement abgeleitet hast. Die Eigenschaft Size der Basisklasse wird durch new ausgeblendet, so das nur noch Deine Version von Size sichtbar ist. Durch den set-Block kannst Du Eigenschaften verändern, ist dies nicht erwünscht wird nur get implementiert.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
31.08.2003, 21:16 Uhr
~Gast
Gast


Muss ich vorher noch was includieren?(Klassenableitung? Wenn ich sowas darin habe dann nur weil das VC++ .net mir das so erstellt hat. Ist das erste Steuerelement das ich erstellt habe->kaum Ahnung hab einfach neues Projekt angelegt das als Windows Steuerelementbibilothek.net angegeben war)! VC++ .net hat mir daraufhin eine Form erstellt auf welche ich dann einfach meinen Statusbar und die Button draufgezogen habe. Danach einfach kompiliert und die erstellte DLL als neues Element in die toolbox eingefügt!

Das mit dem get und set scheint nicht zu funktionieren da ich schon bei new nen "Syntaxfehler" erhalte!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.09.2003, 08:23 Uhr
~Gast
Gast


Schaut mal hier vorbei da fndet ihr den Quelltext:

www.coding-board.de/board/showthread.php?s=&threadid=6745
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.09.2003, 16:55 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
Das was Du unter dem Link gepostest hast ist verwalteter C++ Code und kein C#!
Dann musst Du die Methoden anders schreiben, was ich selbst noch nicht gemacht habe.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 02.09.2003 um 06:28 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.09.2003, 09:14 Uhr
~Gast
Gast


Wie gehst du denn bei der Erstellung eines Steuerelements unter Visual Studio vor? Oder hast du bisher noch nichts weiter mit Visual Studio zu tun gehabt?

Falls du Zeit hast so versuch doch mal ein neues Projekt (Windowssteuerelementbibilothek) zu erstellen. Zieh einen Button auf die Form nun soll wenn man die compilierte DLL als Steuerelement benutzt im Eigenschaftenfenster nur die Visible-Eigenschaft und das Click-Ereignis des buttons auswählbar sein. Währe dir sehr dankbar wenn du das mal probieren würdest!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
03.09.2003, 18:18 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
möchte zunächst einmal festhalten, dass ich beruflich immer noch mit VS 6.0 arbeite und dort eben haupsächlich unter VC++6.0. Was VS.Net angeht bin ich seit den Betatest's mit dem Teil vertraut. Falls ich Steuerelemente selbst erstellen muss, was selten vorkommt, mache ich das als VC++ Projekt mit MFC-Unterstützung und nicht mit C# oder VB.Net. Was das von Dir gewählte Projektformat betrifft, hat das nichts mehr mit C++ zu tun sondern ist eine noch gröbere Vergewaltigung dieser Sprache als ich es bisher kannte. Aber ich schau es mir mal an.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 03.09.2003 um 18:20 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
17.09.2003, 14:57 Uhr
~Gast
Gast


So hab jetzt wenigstens es geschafft eigene Eigenschaften zu erstellen:


C++:
__property bool get_GAusRessourcenHolen()
    {
        return AusRessourcenAusgabe;
        
    }
__property void set_GAusRessourcenHolen(bool Holen)
    {
        
        AusRessourcenAusgabe=Holen;
         AusRessourcen=Holen;
        
    }



Aber wie kann ich jetzt so ein OnClick-Ereigniss für meinen Button erstellen?
Wie würde das denn z.B. mit VC++6.0 gelösst?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: