![]() |
Anzeige:
|
|
|||||||
| XProfan Alles rund um die Programmiersprache XProfan. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
|
Hallo ich habe folgendes Problem,
wenn ich mehrere Reiter wie im Beispiel lösche dann scheint es als ob nach jedem Löschvorgang eines Reiters das Control neu gezeichnet wird. Und das sieht sche… aus wen es immer flackert, bei Franks Listview muss ich dann manuell Redraw(Listview&) aufrufen sonst ist Sie nur zum Teil sichtbar. If TabItems& > 1 'Reiter Löschen x& = TabItems& Whileloop TabItems& SendMessage(PageControl1&,4872,x&,0) X& = X& - 1 EndWhile Endif das muss doch auch ohne flackern gehen, aber wie?
__________________
Gerd Windows 7 Home Premium SP1 32Bit XProfanX2 12.0B-N |
|
|
|
|
|
|
#2 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Das Control muss sich in dem Fall doch neu zeichnen, sonst sieht man ja keine Änderung im Aussehen.
Befindet es sich auf dem Hauptfenster, in einem Dialog oder sonstwie auf einem Control? Poste doch mal einen kleinen, lauffähigen Code.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#3 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 759
|
Code:
If TabItems& > 1 'Reiter Löschen x& = TabItems& SendMessage(PageControl1&, $B,0,0) Whileloop TabItems& SendMessage(PageControl1&,4872,x&,0) X& = X& - 1 EndWhile SendMessage(PageControl1&, $B,1,0) ~UpdateWindow(PageControl1&) Endif $H WINDOWS.PH nicht vergessen wegen dem ~UpdateWindow(). Gruß Volkmar |
|
|
|
|
|
#4 (Direktlink) | |
|
Weiß worum´s geht
![]() Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
|
Zitat:
Darf ich dir mal ein Download Link mailen das Programm ist für meine Verhältnisse recht umfangreich? Ich hab es vorerst so gelöst (ist sowieso eleganter), aber es könnte ja sein das ich 20 Objekte lösche und dann ist es wieder da das Mysterium. '############################################################################### ########## 'Anzahl der Tabreiter ermitteln var TabItems& = SendMessage(PageControl1&,&TCM_GETITEMCOUNT,0,0) '############################################################################### ########## ' Reiter Laden X& = 0 X3& = 0 WhileLoop DB_Anzahl% 'Daten aus der DB laden Clear bereich#,ObjektNr$ GetItemText(Objekt_Daten&,bereich#,0,X&) x2& = (Val(String$(bereich#,0)) -1) Clear bereich#,Objekt_text$ GetItemText(Objekt_Daten&,bereich#,1,X&) Objekt_text$= String$(bereich#,0) If (Objekt_text$ = "I") | (Objekt_text$ = "IA") 'wenn ein Objekt als inaktiv gesetzt ist 'oder Inaktive und ausblenden 'keine weiter Anzeige im Programm nur in dem Dialog Projekte Else Clear bereich#,text$ GetItemText(Objekt_Daten&,bereich#,21,X&) text$=String$(bereich#,0) Clear bereich# GetItemText(Objekt_Daten&,bereich#,22,X&) text$ = text$ + " " + String$(bereich#,0) Clear bereich# GetItemText(Objekt_Daten&,bereich#,23,X&) text$ = text$ + ", " + String$(bereich#,0) Clear bereich# GetItemText(Objekt_Daten&,bereich#,24,X&) text$ = text$ + " " + String$(bereich#,0) text$ = ObjektNr$ + @Left$(text$,40) If X& = 0 Reiter&[x3&] = x2& 'DB Nr. SetText PageControl1&, 0,text$ Else Reiter&[x3&] = x2& 'DB Nr. If (x3& = TabItems&) | (x3& > TabItems&) InsertTab(PageControl1&, X3&, Text$,56) Else SetText PageControl1&, X3&,text$ EndIf Endif INC X3& Endif X& = X& + 1 EndWhile '############################################################################### ########## 'Nicht benötigte Reiter Löschen If TabItems& > X3& x& = (TabItems& - 1) x2& = (TabItems& - x3&) Whileloop x2& SendMessage(PageControl1&,4872,x&,0) X& = X& - 1 EndWhile Endif '############################################################################### ##########
__________________
Gerd Windows 7 Home Premium SP1 32Bit XProfanX2 12.0B-N |
|
|
|
|
|
|
#5 (Direktlink) | |
|
Weiß worum´s geht
![]() Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
|
Zitat:
Danke
__________________
Gerd Windows 7 Home Premium SP1 32Bit XProfanX2 12.0B-N |
|
|
|
|
|
|
|
#6 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Die Message verhindert übrigens das Neuzeichnen, siehe WM_SETREDRAW.
WM_SETREDRAW message Gerd, wenn du Codes innerhalb von Codetags postest, ist er besser erkennbar. [CODE ]'Dein Code [/CODE ]. Nur ohne Leerzeichen: Code:
'Dein Code
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
|
|
#7 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
|
Hallo,
hab beides getestet beide Auto-Aktualisierungen mögen aber Franks Listview nicht! Keine Aktualisierung bis Neustart. Wenn ich Redraw(Listview&) nach dem Reiter löschen benutz dann sofort wieder.
__________________
Gerd Windows 7 Home Premium SP1 32Bit XProfanX2 12.0B-N |
|
|
|
|
|
#8 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
|
Oh da ist der Hund begraben,
listview&=CreateListView(%Hwnd,%hinstance,0,x&,-1,$421) so klappt es listview&=CreateListView(PageControl1&,%hinstance,0,x&,-1,$421) hem beim Kalender und Text gibt es keine Probleme Kalender& = Control("SysMonthCal32", "Kalender", $54000004,( %MaxX + 20),210 ,243,208, %Hwnd, 0, %hInstance, 0)
__________________
Gerd Windows 7 Home Premium SP1 32Bit XProfanX2 12.0B-N |
|
|
|
|
|
#9 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
|
Darum ist ein kurzer, lauffähiger Testcodeimmer gut. Damit findet man seine Fehler oft schon von ganz alleine.
__________________
Gruß, Frank ![]() Webpage http://frabbing.bplaced.net mit Freeware - Tools, Spiele und Grafiken. |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Dateien löschen "Fehler beim Löschen einer Datei" | e.Raggit | Allgemein | 5 | 23.04.2010 16:05 |
| welche bedeutung hat der Reiter "Aktiv" beim Security Task Manager? | Oliver29 | Software - Allgemein | 6 | 21.02.2009 14:13 |
| IE: Reiter "Datensicherheit+Button "Cookies lösche | bixstern | Windows 95/98/ME/2000/NT | 12 | 31.01.2006 07:18 |
| Xp Löschen Festplatte löschen Neumachen | ENgel-112 | Windows XP | 2 | 15.12.2005 20:33 |
| Reiter, Menüleiste bleibt nicht gleich... | jörg | Windows XP | 2 | 21.03.2005 14:20 |