Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan

XProfan Alles rund um die Programmiersprache XProfan.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3361, Antworten: 129
Gehe zum ersten neuen Beitrag Hamachi deinstallieren
Aufrufe: 58, Antworten: 5
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7670, Antworten: 187
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26970, Antworten: 4223
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50963, Antworten: 1397
Gehe zum ersten neuen Beitrag Pc lahmt plötzlich
Aufrufe: 186, Antworten: 6
Gehe zum ersten neuen Beitrag PC fährt nicht mehr hoch.
Aufrufe: 0, Antworten: 0
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 329, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 28, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 34, Antworten: 0
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06.01.2012, 22:28   #1 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von GT43A
 
Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
Standard Tab Reiter Löschen

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
GT43A ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 06.01.2012, 22:51   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

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.
Frabbing ist gerade online   Mit Zitat antworten
Alt 07.01.2012, 09:53   #3 (Direktlink)
Forenmaskottchen
 
Registriert seit: 23.01.2011
Ort: Bernburg
Alter: 58
Beiträge: 759
Standard

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
Damit kannst du Flackern ausschließen. Du kannst immer das Handle des Fensters angeben, in dem mehrere Änderungen erfolgen sollen, ohne daß dabei Flackern auftreten soll. Also auch beim Füllen von Listen u.s.w. anwendbar.
$H WINDOWS.PH nicht vergessen wegen dem ~UpdateWindow().

Gruß Volkmar
Volkmar ist gerade online   Mit Zitat antworten
Alt 07.01.2012, 10:10   #4 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von GT43A
 
Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
Standard

Zitat:
Zitat von Frabbing Beitrag anzeigen
Das Control muss sich in dem Fall doch neu zeichnen, sonst sieht man ja keine Änderung im Aussehen.

Schon aber der Reiter 0 doch bei jedem löschvorgang eigentlich nicht (bei 10 oder mehr sieht das eben nicht schön aus)

Befindet es sich auf dem Hauptfenster, in einem Dialog oder sonstwie auf einem Control? Poste doch mal einen kleinen, lauffähigen Code.
Auf dem Hauptfenster, lege aber ein Kalender, Texte und ne Liste drauf.

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
GT43A ist offline   Mit Zitat antworten
Alt 07.01.2012, 10:13   #5 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von GT43A
 
Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
Standard

Zitat:
Zitat von Volkmar Beitrag anzeigen
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
Damit kannst du Flackern ausschließen. Du kannst immer das Handle des Fensters angeben, in dem mehrere Änderungen erfolgen sollen, ohne daß dabei Flackern auftreten soll. Also auch beim Füllen von Listen u.s.w. anwendbar.
$H WINDOWS.PH nicht vergessen wegen dem ~UpdateWindow().

Gruß Volkmar
Oh das Probiere ich nachher, muss zum Notensatz
Danke
__________________
Gerd
Windows 7 Home Premium SP1 32Bit XProfanX2 12.0B-N
GT43A ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 07.01.2012, 13:21   #6 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

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.
Frabbing ist gerade online   Mit Zitat antworten
Alt 07.01.2012, 19:13   #7 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von GT43A
 
Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
Standard

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
GT43A ist offline   Mit Zitat antworten
Alt 07.01.2012, 19:25   #8 (Direktlink)
Weiß worum´s geht
 
Benutzerbild von GT43A
 
Registriert seit: 04.12.2011
Ort: Pöcking
Beiträge: 126
Standard

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
GT43A ist offline   Mit Zitat antworten
Alt 07.01.2012, 20:07   #9 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.094
Standard

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.
Frabbing ist gerade online   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ä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



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:52 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2