Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Cursor ändern wärend der Laufzeit

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 ]
000
30.09.2004, 14:05 Uhr
~LaBoLe
Gast


Volgendes Problemm habe ich, oder Wunsch, ....

Ich möchte das wenn ich auf einen Button Clicke das mein Cursor dann die Sanduhr ist und wenn mein geadl dann fertig ist, also am ende der function, möchte ich das es wieder mein pfeil ist.

Ich hab volgendes verwendet, jedoch ohne ergebniss:

C++:

m_hIcon = AfxGetApp()->LoadIcon(IDC_WAIT);

// und das hier bringt anscheinend auch kein ergebniss:

m_hIcon = AfxGetApp()->LoadStandardIcon(IDC_WAIT);




Ich hab alles vorher gelesen und im Buch steht das es so richtig ist. Aber anscheined tutz das nicht!
Das buch ist von Helmut Erlenkötter "C++ Opjektorientiertes Programmieren für Windows" (Originalausgabe 2001).
Eigentlich ist das Buch ja Gold wert, aber diesmal isses ne Sackgasse! Also bitte ich euch mal um einen Kompetenten Rat!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.09.2004, 14:21 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



C++:
::AfxGetApp()->DoWaitCursor(1);
//do something
::AfxGetApp()->DoWaitCursor(0);


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.09.2004, 14:26 Uhr
~LaBoLe
Gast


Ohhh mein gott, wie soll man da drauf blos kommen!

Na ja, ich danke dir, weils nämlich geht! Schönen gruß an Microsoft, der mist steht nämlich net drinne!

Ich dank dir aber trotzdem!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.09.2004, 14:39 Uhr
~LaBoLe
Gast


Muss noch mal nerven:

Mein sortier algorithmus funtzt net:



C++:



    do
    {
        we=true;
        for(x1=0; x1<=x3; x1+=2)
        {
            if(sab[1][x1]>sab[1][x1+1])
            {
                sab[0][x1]=tmp[0];
                sab[1][x1]=tmp[1];
                sab[0][x1+1]=sab[0][x1];
                sab[1][x1+1]=sab[1][x1];
                sab[0][x1+1]=tmp[0];
                sab[1][x1+1]=tmp[1];
                we=false;
            }
        }
        for(x1=x3; x1>=0; x1-=2)
        {
            if(sab[1][x1-1]>sab[1][x1])
            {
                sab[0][x1]=tmp[0];
                sab[1][x1]=tmp[1];
                sab[0][x1-1]=sab[0][x1];
                sab[1][x1-1]=sab[1][x1];
                sab[0][x1-1]=tmp[0];
                sab[1][x1-1]=tmp[1];
                we=false;
            }
        }
    }
    while(we!=true);


 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.09.2004, 14:51 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


was genau willst du denn da wie und wonach sortieren?
insbesondere was stellt sab da und wonach willst du das sortieren...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
30.09.2004, 15:15 Uhr
~LaBoLe
Gast


Okok,

sab ist ein 2 deminsionales Array also deklariert isses als

C++:
int sab[2][255];

in der einen dimansion stehen die werte die ich sortieren möchte und in der anderen dimension stehen die dazugörigen werte. Also:

1. Dimension := anzahl der werte
2. Dimension := werte

Die 1. dimension sol sortiert werden, aber so das die werte noch genauso zu den der anzalh passen.

Sortiert wird hier so das am ende links die kleinsten zahlen stehen und rechts die größten zahlen. Ich suche einmal von recht nach lings und ein mal umgekehrt so lange bis sich nichts mehr ändert, worauf ich die sache dann sortiert habe.
X3 ist die datsächliche anzahl der daten.

ein beispiel

Zahlen:
3 1 2
suche von recht nach links ob rechte zahl > linke zahl
3 und 1 := tauschen

(2 wird ausgelassen weil neben ihr keine zahl mehr steht!)

Zahlen:
1 3 2
suche von links nach recht ob rechte zahl > linke zahl
3 und 2 := tauschen

(wie oben kann nicht weiter gesucht werden da keine zahl zum verglaich da ist!)

Zahlen:
1 2 3
suche von recht nach links ob rechte zahl > linke zahl
1 und 2 := keine ändern

Zahlen:
1 2 3
suche von links nach rechts ob rechte zahl > linke zahl
2 und 3 := keine ändern

(2 mal keine ändernung, algoritmuth ist beendet!!)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
30.09.2004, 16:14 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ich bin mir nicht sicher ob ich dich richtig verstanden hab...

du hast zwei arrays mit einer unterschiedlichen anzahl an werten...
zu jedem dieser arrays willst du die anzahl extra speichern und diese arrays jeweils sortieren...

also so wie du das bisher gemacht hast geht das nicht...

was du vermutlich versucht hast abzubilden war sowas...

C++:
typedef struct{int anzahl; int array[255];}myarray;
myarray sab[2];



da du aber c++ verwendest musst du dich damit nicht rumärgern...

mit einem array kannst du z.b. so sortieren

C++:
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>


int main (){
    int i;
    std::vector<int> array; //das ist unser array
    for(i=0;i<10;++i)array.push_back(i); //zahlen von 0 bis 9 ins array einfügen
    std::random_shuffle(array.begin(),array.end()); //zahlen mischen (sonst haben wir ja nix zu sortieren
    for(i=0;i<10;++i)std::cout<<array[i]<<'\t'; //gemischtes array ausgeben
    std::cout<<std::endl;
    std::sort(array.begin(),array.end());//array sortieren
    for(i=0;i<10;++i)std::cout<<array[i]<<'\t'; //sortiertes array ausgeben
    std::cout<<std::endl;
    
return 0;
}




wenn du mehrere arrays in einem array haben willst kannst du einfach ein std::vector<std::vector<int> > verwenden... also ein array von arrays...
die anzahl der im vector/array enthaltenen datensätze bekommst du mit size() heraus musst also nicht extra die anzahl speichern das übernimmt auch der vector für dich
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
30.09.2004, 16:18 Uhr
~LaBoLe
Gast


Ja äääh, ich hab ein 2 dimensionales, wie ich schon schrieb, und will aber nur int array[1][x] sortieren. Die die bei array[0][x] sollen mit verschoben werden, aber nicht sortiert werden!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
30.09.2004, 16:30 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ich glaub du hast da was fallsch verstanden...
also nehmen wir mal int sub[2];
das ist quasi einfach nur ein speicherbereich der grösse zwei integer wobei sub ein zeiger auf das erste elemente zeigt...

definierst du so int sub[2][255]... hast du quasi zunächst ein array sub[2] aber in diesem falle ist das kein array von ints sondern ein array aus zwei int-zeigern... diese zeiger selber zeigen wiederum auf jeweils auf ein int-array... du kannst dort also keine anzahl speichern sondern nur die adresse ist dort zu finden wo dein jeweiliges array zu finden ist...

wenn du also nur dein eines array sortieren willst ohne das eine zu beeinflussen einfach nur sub[0] verwenden... das ist dann quasi dein erstes array....

wenn du den sortierer selber schreiben willst probier mal erstmal nur mit einem eindimensionalen array zu arbeiten und das hinzubekommen ....
wenn du dann damit richtig klar kommst kannst du das leicht auf ein 2-d-array ummünzen aber mir scheint du hast da noch einige probleme dir vorzustellen wie das abläuft...



Bearbeitung:

Oh mein Gott ist das scheisse erklärt... vielleicht kann dir das ja jemand anders besser erzählen scheint nicht so mein tag zu sein heute...


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 30.09.2004 um 16:32 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
30.09.2004, 17:22 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


@Windalf:
Eine Rüge habe ich noch


C++:
for(i=0;i<10;++i)std::cout<<array[i]<<'\t'; //gemischtes array ausgeben


kann man doch auch mit


C++:
std::copy(...)



lösen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: