Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Funktion - Programmstart

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 ] > 2 < [ 3 ] [ 4 ] [ 5 ]
010
02.07.2004, 17:12 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



C++:
CStart start;
start.DoModal();
start.status();  //diese funktion wird erst aufgerufen wenn dein dialog modal aufgerufener Dialog fertisch ist... bei deinem problem beisst sich irgendwie die katze in den schwanz:D musst dann halt start.status nach dem start von "start" aufrufen... was dir wieder das geliche problem einbringt das wenn du es in onInitDialog von CStart machst, das das wieder nicth angezeigt wird
meines erachten kommst du nich drum rum das irgendwie mit nem trick in onpaint zu machen oder du lässt nen extrathread starten der da rummalt...
ne gute lösung für diese problem hab ich auch noch nicht gefunden wenn da einer was hat bitte mal ein beispiel posten


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
02.07.2004, 17:26 Uhr
t10ottoo



Ahjo, danke für die Erklärung

Werde mal nach ner besseren Lösung suchen *g* Da muss es ja eine geben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
02.07.2004, 22:04 Uhr
~toxic
Gast


hi, die lösung iss relativ simple, einfach beim starten des hauptdialoges einen timer setzen, in ontimer wird dann die progressbar "bedient" ist diese auf 100% werden dann die ganzen controls freigegeben, fertig.
--
grusz
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
02.07.2004, 23:35 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@toxic
hmm aber ein timer garnatiert dir nicht das der dialog wirklich schon gemalt ist, wenn der anfängt die funktion aufzurufen oder. (ok man kann ihn entsprechend lang wählen)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
03.07.2004, 00:12 Uhr
t10ottoo



Das heißt, man müsste nen Timer wählen, der so lange bzw. länger als das Erstellen des Dialoges ist und dann soller erst mit der Ausführung der Funktion beginnen? naja, Problem: Man müsste den Timer und das Malen des Dialoges gleichzeitig laufen lassen :/
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
03.07.2004, 11:09 Uhr
Spacelord
Hoffnungsloser Fall



Zitat:
@toxic
hmm aber ein timer garnatiert dir nicht das der dialog wirklich schon gemalt ist, wenn der anfängt die funktion aufzurufen oder. (ok man kann ihn entsprechend lang wählen)


Ich hab jetzt nicht alles gelesen aber wenn es darum geht sicherzustellen das der Dialog "fertig" initialisiert ist bevor man ihn manipuliert,ist WaitForInputIdle das Mittel zum Zweck.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
03.07.2004, 12:52 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Spacelord
das ding muss dann aber in nem eigenen Process laufen oder? Oder wie macht man das sonst?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
03.07.2004, 13:04 Uhr
Spacelord
Hoffnungsloser Fall


NenThread reicht auch,der muss dann natürlich vor DoModal aufgerufen werden. In der Thread Funktion wartest du dann per WaitForInputIdle bis der Dialog bereit ist und dann geht es los .
Aber vorsicht! Du kannst den Dialog aus dem sekundären Thread heraus nicht direkt manipulieren!! Über benutzerdefinierte Nachrichten gehts ganz gut....

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
03.07.2004, 13:06 Uhr
t10ottoo



@Spacelord: Erstmal danke für deine Hilfe. Aber könntest du das vlt. noch etwas genauer erklären? Bin auf dem Gebiet noch net ganz der Freak

Gruß
Thomas
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
03.07.2004, 14:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@Spacelord
in der MSDN steht aber der will nen Handle auf nen Process haben sicher das der auch nen thread frisst?

C++:
DWORD WaitForInputIdle(
  HANDLE hProcess,       // handle to process
  DWORD dwMilliseconds   // time-out interval in milliseconds
);




Zitat:

NenThread reicht auch,der muss dann natürlich vor DoModal aufgerufen werden


was spricht dagegen den thread erst in OnInitDialog von dem modal aufgerufenen dialog zu starten?
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 03.07.2004 um 14:08 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ] [ 5 ]     [ VC++ / MFC ]  


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: