Zum Inhalt springen

Guybrush Threepwood

Mitglieder
  • Gesamte Inhalte

    4.909
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    6

Alle Inhalte von Guybrush Threepwood

  1. Hast dus mal mit SetWindowText probiert? Wenn der String ein ein '\n' enthält sollte er eigentlich in die nächste Zeile springen. Oder sende einfach WM_SETTEXT an das Eingabefeld, ist aber das selbe wie SetWindowText. Gruß wasweißich
  2. wenn du zufällig mal weniger wie 1Sec pausieren willst dann versuchs mal mit Sleep die Funktion rechnet nämlich im Gegensatz zu sleep mit millisekunden anstatt mit Sekunden. Dafür brauchst du aber die windows.h und die winbase.h. Gruß wasweißich
  3. Hi, weiß von euch vielleicht irgendwer warum, wenn ich bei WinXP mit RegSetValueEx etwas in die Registry schreibe, die Hälfte des Strings fehlt, obwohl es bei Win98 ohne Probleme funktioniert? :confused: Muß ich bei NT,2000 oder XP irgendwas besonderes beachten? Gruß wasweißich
  4. Mit dem Exitcode hast du recht Klotzkopp ich hab das nochmal genau nachgelesen. Aber das ist egal es klappt auch so, habs nämlich immer so gemacht:D Zu ExitProcess: Der Process wurde doch von dem Programm erstellt, also müßte er doch auch so beendet werden können. Ich will mich nicht festlegen, ich will nur sagen das ich bisher jeden Process oder Thread den ich aufgerufen habe mit der Exit anstatt der Terminate Funktion beendet habe und meine mich erinnern zu können das es einmal mit TerminateProcess nicht geklappt hat, dafür aber mit ExitProcess. Gruß wasweißich
  5. Wenn ich dich Richtig verstanden habe ist dein Problem das deine GroupBox eine andere Hintergrundfarbe hat wie dein Fenster und du willst das beide dei selbe Farbe haben. Ich hatte auch schon öfters das Problem hab mich aber nie soweit damit beschäftigt dass ich eine Lösung gefunden habe, aber vielleicht hilft dir ja das ich glaube das man das irgendwie mit der Funktion SetBkColor machen kann. Du mußt dir erst einen Device Context von deiner GroupBox holen (GetDC) und den dann an SetBkColor übergeben (glaube ich zumindest). Wenn du das irgenwie hinbekommst kannst du das ja hir posten oder mir ne Nachricht schicken. Ich hoffe das war überhaupt dein Problem und ich konnte dir wenigstens ein bischen helfen:( Gruß wasweißich:D
  6. Klotzkopp hat Recht, du mußt das ohne "&" schreiben. Allerdings mußt du trotzdem den Exitcode übergeben, aber in der Funktion GetExitCodeProcess auch ohne "&". Also so: DWORD dwExitCode; GetExitCodeProcess(pinfo.hProcess,dwExitCode); //Funktion gibt bool Wert zurück!!!! //Deshalb nicht in TerminateProcess aufrufen. TerminateProcess(pinfo.hProcess, dwExitCode); [/PHP] Das sollte eigentlich funktionieren, trotzdem wäre die Funktion [i]ExitProcess[/i] eher empfelenswert wenn der Process ohne Fehler beendet wird. Gruß wasweißich
  7. Hi, ich hab mal wieder ein Problem:( Ich habe ein Programm das mit der Funktion TextOut Daten ausdruckt. Das klappt im Prinzip auch, nur wenn ich anstatt mit meinem Drucker (300dpi) auf einem Drucker mit z.B. 600dpi drucke sind die Daten alle in eine Ecke gequescht. Jetzt habe ich versucht mit SetMapMode,SetWindowExtEx,SetViewportExtEx, usw den Ausgabebereich Auflösungsunabhängig zu gestallten, leider hat es nicht geklappt. Hat irgendwer von euch das schonmal gemacht und kann mir vielleicht helfen? Gruß wasweißich
  8. Das ist aber komisch:confused: Ich programmiere normalerweise nicht mit der MFC sondern nur mit WinAPI aber kann man bei der MFC nicht über den Klassenassistenten irgendwie die Ereignisse die man abfragen will auswählen so das der einem automatisch einen Prototyp der Funktion erstellt? Ich kann mich nämlich nicht erinnern dass man bei der MFC direkt auf die Nachrichtenschleife zugreifen konnte, aber sicher bin ich mir nicht. Ansonsten weiß ich im Moment auch keine Antwort darauf.
  9. Hi, über HSCROLL und VSCROLL kannst du auch feststellen wenn der Benutzer den Balken mit der Maus zieht, das geht ungefähr so: case WM_VSCROLL: { switch (LOWORD(wParam)) { case SB_LINEUP: //Der Benutzer klickt auf den Pfeil nach unten break; case SB_LINEDOWN: //Der Benutzer klickt auf den Pfeil nach oben break; case SB_PAGEUP: //Der Benutzer klickt über den Balken break; case SB_PAGEDOWN: //Der Benutzer klickt unter den Balken break; case SB_THUMBTRACK: //Der Benutzer zieht den Balken mit der Maus break; } return 0; } [/PHP] Wenn du noch irgendwas unklar ist, dann frag ruhig. Gruß wasweißich:D
  10. Hast du schon probiert im Explorer, im Menü Extras auf Ordneroptionen zu gehen und da bei Ansicht alle Ordner zurückzusetzten?
  11. Was meinst du genau mit "DLLs direkt aufrufen"? Wenn du du Sie in deinem Programm während der Laufzeit einbinden willst, kannst du das mit der Funktion LoadLibrary. Gruß wasweißich
  12. Oder versuchs mal mit CreateProcess. Die Funktion ist die WINAPI Funktion um andere Programme zu starten.
  13. Ach so. Ok, nochmal vielen Dank du hast mir echt weitergeholfen. Gruß wasweißich:)
  14. Wenn ich (int**)malloc(20 * sizeof(int*)) schreibe hab ich genau das was ich brauche, ein zweidimensionales Array was zur Laufzeit seine Größe zugewiesen bekommt. Warum ist das jetzt nicht mehr so dynamisch? Danke für die gute Hilfe!!!!
  15. Cool, jetzt klappts. Danke Goos! Aber warum klappt das nicht?:confused: #include <stdio.h> #include <malloc.h> int** i; main() { i = (int**)malloc(sizeof(int*)); for (int h=0; h<20; h++) i[h] = (int*)malloc(20 * sizeof(int)); i[0][0] = 5; printf ("%i",i[0][0]); return 0; } [/PHP] Macht keinen Fehler und gibt nichts aus. Wie sieht das Feld nach der Schleife aus? i[20][?]
  16. Hier ist der ganze Code(der dient nur zum Testen): #include <stdio.h> #include <malloc.h> int** i; main() { i = (int**)malloc(sizeof(int[10])); i[10] = (int*)malloc(sizeof(int[20])); i[1][1] = 5; printf ("%i",i[1][1]); return 0; } [/PHP] Beim Ausführen bekomme ich in der Zeile [i]i[1][1] = 5; [/i] eine Access Violation.
  17. Danke für den Link Goos aber die einzige für mich brauchbare Lösung die dort gefunden wurde: int** i; main() { i = (int**)malloc(sizeof(int[10])); i[10] = (int*)malloc(sizeof(int[20])); i[1][1] = 5; printf ("%i",i[1][1]); return 0; } [/PHP] verursacht bei mir immer einen Programmabsturz. Ansonsten konnte ich im Forum auch nichts finden was mir weiterhilft. Vielleicht hilft es euch ja mir zu helfen wenn ich sage wofür ich das brauche. Also, ich will eine Tabelle darstellen die sich der Anzahl der Werte anpasst (d.h. bei 6 Rubriken und 40 Datensätzen hat die Tabelle 6 Spalten und 40 Zeilen). Hirfür wollte ich halt ein mehrdimensionales Array des Datentypes [i]HWND[/i] dynamisch anlegen. Die Alternative von Olli_Master: [i]Eine Klasse, die das Array kapselt und den [] - operator überschreibt. Vielleicht gibt es die schon irgendwo?[/i] hab ich nicht so ganz verstanden vielleicht kann mir das noch jemand erklären.
  18. Hi, man kann ja einen Zeiger deklarieren und ihm zur Laufzeit ein Array zuweisen, also ungefähr so: int *i; main() { i = new int[29]; } [/PHP] Ich versuche jetzt aber in der Art ein mehrdimensionales Array anzulegen, also ungefähr so: [PHP] int **i; main() { i = new int[19][29]; } Das Problem ist, dass es so nicht funktioniert. Ich habe auch noch ein paar andere Möglichkeiten ausprobiert aber nichts klappt. Wäre nett wenn mir einer von euch dabei helfen könnte. Gruß wasweißich
  19. Das mit dem MultiByteToWideChar hat funktioniert. Vielen Dank Klotzkopp!!
  20. Ich hab das mit A2OLE() direkt mal ausprobiert, aber das Problem ist jetzt das (soweit ich das sehen konnte) A2OLE() in der datei afxpriv.h definiert ist, ich mag die MFC allerdings nicht besonders und programmiere mit WinApi (hab ich dummerweise vergessen zu erwähnen ). Wenn ich also afxpriv.h include bekomme ich den Fehler das ich die windows.h nicht includen darf. Hast du vielleicht noch eine andere Idee oder ist das Makro noch woanders definiert?
  21. Hi, ich habe eine Variable wSQLString vom Typ LPOLESTR. Dieser Variable weise ich mit dem Makro OLESTR eine SQL Anweisung zu. Das Ganze sieht dann so aus: LPOLESTR wSQLString = OLESTR("SELECT irgendwas FROM irgendwo"); [/PHP] Das funktioniert auch einwandfrei, wenn ich [i]OLESTR[/i] allerdings eine Variable übergebe, bekomme ich die Fehlermedung [i]"_L nichtdeklarierter Bezeichner"[/i]. Die Definition des Makros sieht folgendermaßen aus: [PHP] #if defined(_WIN32) && !defined(OLE2ANSI) #define OLESTR(str) L##str #else // 16-bit applications #define OLESTR(str) str #endif Hat vielleicht einer von euch eine Idee? Achso ich benutze Win98 und MSVC++6.0
  22. In den meisten Beispielen wurde pIDBProperties vorher released, also hab ich das auch mal gemacht. Wenn ich es nicht mache klappts aber auch nicht. Wo genau kann ich denn sehen ob pIDBInitialize noch gültig ist, wenn ich auf das Debug Fenster klicke steht da nichts. Kann ich nicht einfach überprüfen ob pIDBInitialize gleich null ist?
  23. Hi, ich versuche ein Programm zu schreiben, welches per oledb datensätze aus einer Accessdatenbank ausliest. Ich benutze Win98, Visual C++ 6.0 und Office 2000. Mein Problem ist das ich nicht genau weiß welche Properties ich bei der Initialisierung setzen muß. Als Datasource habe ich bisher einfach die Datenbank mit Pfad angegeben(keine Ahnung ob das so geht, da in allen Beispielen "OLE_DB_NWind_Jet" angegeben wird, was aber laut msdn library vordefiniert auf eine Beispiel Datenabnk zeigt). Immer wenn ich das Programm ausführe schlägt die Funktion pIDBInitialize->Initialze() fehl und gibt E_FAIL zurück, was in der msdn nur als "A provider-specific error occurred" erklärt wird. Kann es sein das ich für das Ganze noch irgendetwas installieren muß? Hier ist einfach mal ein Stück vom Code, vielleicht kann mir ja einer von helfen(BITTE!!!). HRESULT Initialize() { if (CoInitialize(0) != S_OK) { MessageBox(hMainWindow,"Konnte COM nicht initialisieren!","Schwerer Ausnahmefehler!",MB_APPLMODAL); return -1; } if (CoCreateInstance(CLSID_MSDAINITIALIZE, NULL, CLSCTX_INPROC_SERVER, IID_IDataInitialize,(void**)&pIDataInit) != S_OK) { MessageBox(hMainWindow,"Instanz konnte nicht erstellt werden!","Schwerer Ausnahmefehler!!!",MB_APPLMODAL); return -1; } if (pIDataInit->CreateDBInstance(CLSID_MSDASQL, NULL,CLSCTX_INPROC_SERVER, NULL, IID_IDBInitialize,(IUnknown**)&pIDBInitialize) != S_OK) { MessageBox(hMainWindow,"DB Instanz konnte nicht erstellt werden!","Schwerer Ausnahmefehler!!!",MB_APPLMODAL); return -1; } return 0; } /////////////////////////////Ende Initialize//////////////////////////// HRESULT SetProp() { const ULONG nProps = 4; DBPROP InitProperties[nProps]; DBPROPSET rgInitPropSet; for (int i=0; i<nProps; i++) { VariantInit(&InitProperties[i].vValue); InitProperties[i].dwOptions = DBPROPOPTIONS_REQUIRED; InitProperties[i].colid = DB_NULLID; } InitProperties[0].dwPropertyID = DBPROP_INIT_PROMPT; InitProperties[0].vValue.vt = VT_I2; InitProperties[0].vValue.iVal = DBPROMPT_NOPROMPT; InitProperties[1].dwPropertyID = DBPROP_INIT_DATASOURCE; InitProperties[1].vValue.vt = VT_BSTR; InitProperties[1].vValue.bstrVal = SysAllocString(OLESTR("c:\\online~2.mdb")); InitProperties[2].dwPropertyID = DBPROP_AUTH_USERID; InitProperties[2].vValue.vt = VT_BSTR; InitProperties[2].vValue.bstrVal = SysAllocString(OLESTR("")); InitProperties[3].dwPropertyID = DBPROP_AUTH_PASSWORD; InitProperties[3].vValue.vt = VT_BSTR; InitProperties[3].vValue.bstrVal = SysAllocString(OLESTR("")); rgInitPropSet.guidPropertySet = DBPROPSET_DBINIT; rgInitPropSet.cProperties = nProps; rgInitPropSet.rgProperties = InitProperties; if (pIDBInitialize->QueryInterface(IID_IDBProperties, (void**)&pIDBProperties) != S_OK) { MessageBox(hMainWindow,"Interface konnte nicht geladen werden!","Schwerer Ausnahmefehler!!!",MB_APPLMODAL); return -1; } if (pIDBProperties->SetProperties(1, &rgInitPropSet) != S_OK) { MessageBox(hMainWindow,"Einstellungen konnten nicht gesetzt werden!","Schwerer Ausnahmefehler!!!",MB_APPLMODAL); return -1; } pIDBProperties->Release(); if (pIDBInitialize->Initialize() == E_FAIL) //Hier kommt der Fehler!!! { MessageBox(hMainWindow,"Initialisierung fehlgeschlagen!","Schwerer Ausnahmefehler!!!",MB_APPLMODAL); return -1; } return 0; } [/PHP] Vielen Dank schonmal im Voraus.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...