Tooltip Problem
-
Im obigen Beispiel ist das ein ListViewItem, ich weis ned genau was du meinst bin auch noch ein Anfänger
Ich meinte mit ToolTip -> System::Windows::Forms::ToolTip
Beispiel:
toolTip1->SetToolTip(System::Windows::Forms::Control^ control, System::String^ caption);
Ich weis leider nciht wie ich das mit meinem Beispiel kombinieren kann da dieses Tooltip ein control braucht und mein listviewitem kein control ist. Ich hoffe jetzt weist du was ich meine.
lg seek
-
Kennst du das denn schon hierhttp://www.imgbox.de/users/public/images/q43837s147.png?
this->listView1->ShowItemToolTips = true;
-
HI,
this->listView1->ShowItemToolTips = true;
Ist natürlich an!
Das im Bild -> ToolTip auf toolTip1 ist für die gesamte Listview und kann nicht für einzelne Items benutzt werden. ich wollte wissen wie es möglich ist die toolTip1 für die subitems zu nutzen? Problem wie im letzten post beschrieben sind die Funktions Paramater, da diese ein Control verlangen und ein Item der ListView kein Control ist.
Nochmal zur besseren verdeutlichung:
xItem[i] = gcnew ListViewItem(tmp[3]); xItem[i]->ImageKey::set(tmp[0]); xItem[i]->SubItems->Add(dateMake.ToString("dd/MM, HH:mm")); if(tmp[5]->Contains("Mittel")) xItem[i]->BackColor = System::Drawing::Color::Yellow; if(tmp[5]->Contains("Wichtig")) xItem[i]->BackColor = System::Drawing::Color::Red; xItem[i]->ToolTipText = "Betreff: " + tmp[3] + "\nVon: " + tmp[2] + "\nNachricht: "+tmp[4]; listview->Items->Add(xItem[i]);
Items werden in xItem[i] generiert. 1 Item hat 1 Subitem je nach status gelb, rot oder keine hintergrundfarbe und ein tooltiptext. Letzte zeile wird das Item der listview zugefügt.
Das Problem ist wenn die Form wo das ganze passiert auf Topmost ist, das bedeutet immer on Top eal was offen ist dann sieht man die ToolTips der einzelnen Items hinter der Form. Wenn die Form auf normal ist dann sieht man die Tooltips auf normal.
lg seek
-
Währe vielleicht nicht mal schlecht wenn du ein Foto von dem machst, wo man sieht dass das TooltTip hinter dem Form gelandet ist, bzw. wenn man es sieht wenn man das Form zur seite schiebt so meinst du dass doch oder?
Und wie wehre es denn wenn du von einem ToolTip das was da gezeichnet wird erbst und dann im auftrag von Form Paint(Ereigniss) in dass Form, an der Position zeichnen läst? Denn dann gehöhrt es ja zum Form was Topmost ist, du pop up spamer
-
Ich denke ich habe dass was du wilst: Benutze ein ToolTip über das Form.
Dass wird auch bei Form topmost = true angezeigt.
Und über (toolTip1)->Active läst du das ToolTip erscheinen oder nicht und kannst natürlich je nach angeklicktem Item oder SubItem den dafür gedachten String (mainForm)->(ToolTip auf toolTip1) zu weisen.
-
lol das versteh ich jetzt überhaupt nicht
Ich wollte das umsetzten mit MouseOverItem hab dann zum testen
//SET ToolTip Aktive toolTip1->SetToolTip(listView1, "TEST STRING");
im onLoad event des Prgoramms eigegeben.
Siehe da was passiert mein eigentlicher ItemToolTipText erscheint im toolTip1 und nicht "TEST STRING"
Keihne Ahnung wie das möglich ist aber es funktioniert
Danke für die info mit dem events hätts auch funktioniert nur wäre mehr code gewessen
Vielleicht kann mir mal einer sagen wieso das so ist?
lg seek
-
seek1338 schrieb:
lol das versteh ich jetzt überhaupt nicht
Ich wollte das umsetzten mit MouseOverItem hab dann zum testen
//SET ToolTip Aktive toolTip1->SetToolTip(listView1, "TEST STRING");
im onLoad event des Prgoramms eigegeben.
Siehe da was passiert mein eigentlicher ItemToolTipText erscheint im toolTip1 und nicht "TEST STRING"
Keihne Ahnung wie das möglich ist aber es funktioniert
Danke für die info mit dem events hätts auch funktioniert nur wäre mehr code gewessen
Vielleicht kann mir mal einer sagen wieso das so ist?
lg seek
Weil der Compilier bzw. der Computer Befehlscode für Befehlscode abarbeitet oder Zeichen für Zeichen und Zeile für Zeile. Das was bei dir da passiert könnte man in etwa so verdeutlichen:
String^ ichKette = "Ich bin Schlau"; ichKette = "Nein bist du nicht!"; this->text = ichKette;
Ausagbe im Titel: << Nein bist du nicht! >>
-
Stimmt du hast recht ist einleuchtend
Danke für die Hilfe bin noch neu hab erst seit 3 wochen so ein buch und kenn mich leider noch nicht sehr gut aus.
Eine Frage wäre da noch hat jetzt nichs mit meinem Programm zu tun.
Was findest du sollte ich lernen c++ Normal also MFC (nehme ich an), c++/cli ist aber nur .net da wäre c# glaub ich besser. Ich hab voll probleme sachen für c++/cli zu finden beispiele etz. bei c# lese ich die ab und übertrags in c++
Ich will eigentlich richtiges Programmieren lernen und mich nicht von irgendwelchen sdks/frameworks etz. einengen lassen. Was würdest du/Ihr mir raten zu lernen um nicht an etwas gebunden zu sein?
Natürlich will ich trotzdem mit .net anderen sdks etz. arbeiten falls es grad einfacher ist, man muss ned immer das rad neu erfinden *g*
(Sorry falls die Frage nicht direkt in das Forum passt)
lg seek
-
http://openbook.galileocomputing.de/csharp/kap34.htm
Wie wäre es mit Google?Also was ich mit ziemlicher sicherheit weiß, C++ ist am schnellsten auf Platformen wie Windows, Linux. Mit .Net ist es für gelegenheitsentwicklern und entwicklern ohne Team einfacher, auch weil er wohl kaum die zeit hat selber Controls für Windows zu schreiben und a. ohne .Net müsste er auch noch die Speicherverwaltung schreiben!
Und du kennst dich nicht zufäligerweise mit UserControl aus? http://www.c-plusplus.net/forum/viewtopic-var-t-is-246495.html
-
Also wie gesagt ich beschäftige mich mit c++/cli erst seit 3 wochen oder so und hab grad mal so ein einsteiger buch gelsen damit ich mit der syntax halbwegs klar komme.
Wie man UserControls programmiert da hab ich kein plan, mich würde es auch interessieren wie man eigene Buttons machen kann und eigene Formen zBsp. runde formen wo das programm drinen läuft.
Oder wie ICQ das hat einfach ein eigenes design
lg silviu
-
Nun man kann ein Form von .Net totall auseinander nehmen und sehr klein machen. Gucke mal in das Eigenschaftsfenster wenn du auf ein Form klickst. Du kannst da Titeleiste weg machen, Backcolor ändern. Sowohl das selbe gilt für die Controls. Auch wenn das je nach dem etwas unterschiedlich ist weil das Control möglicherweise spezifisch ist.
Wenn du richtig die WinApi von Windows Manuell ansteuern wilst musst du dich mit opengl oder directx auseinander setzten. Habe ich mal versucht braucht viell einübungs- und brobier- und verstehzeit.
-
Das mit Opengl hab ich auch gelesen nur wie gesagt man muss ned gleich das Rad neu erfinden :).
Ich wollte halt bei der Form das X oben ausblenden weil ich ein eigenes button zum Programmschliesen habe. X kann man nur ausblenden wenn die ControlBox auf False ist.
Ich möchte aber das Icon benutzen und das geht nicht wenn ich die COntrolbox ausschalte
Aber da habe ich auch die lösung über die Winapi gefunden leider nix .Net internes. Aber vorerst will ich mal alles machen das geht und ancher beschäftige ich mich mit WinApi.
Muss auch Hooks bentzen weil man mit einer taste das fenster ein und ausblenden kann wird leider auch ned von .net unterstützt naja das tool wird mich noch so amche nerven kosten *g*
lg seek
-
seek1338 schrieb:
Das mit Opengl hab ich auch gelesen nur wie gesagt man muss ned gleich das Rad neu erfinden :).
Ich wollte halt bei der Form das X oben ausblenden weil ich ein eigenes button zum Programmschliesen habe. X kann man nur ausblenden wenn die ControlBox auf False ist.
Ich möchte aber das Icon benutzen und das geht nicht wenn ich die COntrolbox ausschalte
Aber da habe ich auch die lösung über die Winapi gefunden leider nix .Net internes. Aber vorerst will ich mal alles machen das geht und ancher beschäftige ich mich mit WinApi.
Muss auch Hooks bentzen weil man mit einer taste das fenster ein und ausblenden kann wird leider auch ned von .net unterstützt naja das tool wird mich noch so amche nerven kosten *g*
lg seek
Du kannst aber einen Thread Process erstellen der im Hintergrund auf einen Tastendruck wartet...
-
LiGERWooD schrieb:
Du kannst aber einen Thread Process erstellen der im Hintergrund auf einen Tastendruck wartet...
Danke für die Info ich werd mal dannach suchen kann mir noch nix drunter vorstellen hab noch keine Vorstellugn zwischen Thread, Process und dem ganzen
lg seek
-
-
Danke
Wird noch etwas dauern bis ich das angehen kann.
lg silviu
-
Ich hab mir mal deine Links angeschaut und hab folgende Klasse erstellt:
#pragma once using namespace System::Threading; ref class keyEventThread { public: static void waitOnKey() { while(1) { MessageBox::Show("Test Thread"); } } };
Aufgerufen und gestartet wirds mit:
Thread^ keyThread = gcnew Thread( gcnew ThreadStart( &keyEventThread::waitOnKey ) ); keyThread->Start();
Verstehe ich auch, aber ich weis nicht wie ich ohne Hooks systemweit ein Event(delegate) für die Taste F4 anlegen kann. Ich möchte immer wenn die Taste F4 gedrückt wird meine Form->Visible auf true oder false setzten.
Also ne art ein/ausblende mechanismus.
-
Sag mal aber ich würde doch nicht für ein Form(Fenster) Minimieren/Schliessen/Wiederherstellen Visible verwenden sondern Hide() und ShowDialog()
Wegen dem anderen muss auch erstmal suchen welche Schnistelle das in .Net ist die Allgemeine Tasenschläge Informationen immer abrufen kann.
-
-
Hab mich daweil noch nciht so mit Hide() und ShowDialog() beschäftigt dachet ist das gleiche ob Hide() oder Visible = false
Danke das du wegen der Tastaturabfrage suchst ich hab daweil auch gegoogelt aber noch nix gefunden.
lg seek