Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: WinAPI ::  Hilfe bei Kinderfenster     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Dblacky
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.02.2017
Beiträge: 4
Beitrag Dblacky Mitglied 00:13:14 17.02.2017   Titel:   Hilfe bei Kinderfenster            Zitieren

Ich möchte bei meinem Fenster ein zweites Fenster(Childwindow) aufrufen bzw schließen können, bloß komme ich leider nicht weiter bitte um Hilfe :)

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
case WM_KEYDOWN:
        switch (wParam) {
        case VK_ESCAPE:
            if (f_menu angezeigt ) {
                DestroyWindow(f_menu);
                UpdateWindow(hwnd);
            }
            else ShowWindow(f_menu, SW_SHOW);
            UpdateWindow(f_menu);
            break;
        default:
            break;
        }
        return 0;

Danke im Voraus!
C++ Forumbot
Forumbot

Benutzerprofil
Anmeldungsdatum: 29.02.2004
Beiträge: 19786
Beitrag C++ Forumbot Forumbot 01:34:41 17.02.2017   Titel:              Zitieren

Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) in das Forum WinAPI verschoben.

Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?


Dieses Posting wurde automatisch erzeugt.

_________________
Besuchen Sie unsere Bücherecke.
http://www.c-plusplus.de/bucher.php
Mit jeder Bestellung unterstützen Sie das Forum.
winmain
Unregistrierter




Beitrag winmain Unregistrierter 01:36:27 17.02.2017   Titel:              Zitieren

1. Ist WinAPI
2. Wenn f_menu erstellt wurde (CreateWindow/CreateDialog) und nicht modal ist bzw. sich nicht modal verhalten soll, dann darfst du es nicht zerstören, sondern mit ShowWindow nur ein- und ausblenden. Eine Statusvariable ist nicht nötig, dafür gibt es IsWindowVisible.
C++:
case VK_ESCAPE:
  if (IsWindowVisible(f_menu))
    ShowWindow(f_menu, SW_HIDE);
  else
    ShowWindow(f_menu, SW_SHOW);
  break;
Dblacky
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.02.2017
Beiträge: 4
Beitrag Dblacky Mitglied 01:39:58 17.02.2017   Titel:              Zitieren

Danke, wenn man es weis easy :D


EDIT: Kann ev jemand ein gutes deutsches Tutorial für Nachrichtenverarbeitung zwischen 2 Prozessen inerhalb eines Programmes empfehlen also zb:
C++:
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);  SENDET Nachricht N_BEFEHL mit Parametern
LRESULT CALLBACK WndProc2(HWND, UINT, WPARAM, LPARAM); EMPFÄNGT und liest aus


Zuletzt bearbeitet von Dblacky am 03:09:38 17.02.2017, insgesamt 1-mal bearbeitet
Dblacky
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.02.2017
Beiträge: 4
Beitrag Dblacky Mitglied 01:18:24 18.02.2017   Titel:              Zitieren

Das mit den Nachrichten habe ich hinbekommen.
Nächste Problem: Ich habe ein HWND der Klasse Textbox diese ist ES_MULTILINE, diese Textbox ist meine "Console" hier lasse ich meine Ergebnisse pro Zeile ausgeben. Da ich den Text nicht immer Leeren möchte sondern mit anhängen habe ich folgendes versucht: SetWindowText(tb_edit, buffer + "Hallo \t\n"); im buffer habe ich vorher GetWindowText eingelesen hier mal den ganzen Codeabschnitt:
C++:
char *buffer = NULL;
            int i;
            i = GetWindowTextLength(tb_edit);
            buffer = new char[i];
            GetWindowText(tb_edit, buffer, i + 1);
            SetWindowText(tb_edit, buffer + "Hallo \t\n");
            UpdateWindow(tb_edit);

Der Compiler sagt: der Ausdruck muss einen ganzzahligen Enumerationstyp oder einen Enumerationstyp ohne Bereichseinschränkung aufweisen

habe anschließend versucht:
C++:
1
2
3
4
5
6
7
8
char *buffer = NULL;
            int i; string text,textneu = "Test";
            i = GetWindowTextLength(tb_edit);
            buffer = new char[i];
            GetWindowText(tb_edit, buffer, i + 1);
            text = buffer + textneu;
            SetWindowText(tb_edit, text);
            UpdateWindow(tb_edit);

selber Fehler. Bitte um Hilfe :)ev auch eine Spmplere lsng.


Edit: wollte schonmal weiter machen, die lsg mit dem ESC hat geklappt, allerdings sobald ich die Textbox oder den Button im Menu anklicke klappt dies nicht mehr, auch wenn ich das Hauptfenster anschließend auswähle.


Zuletzt bearbeitet von Dblacky am 01:36:56 18.02.2017, insgesamt 1-mal bearbeitet
Mr C
Unregistrierter




Beitrag Mr C Unregistrierter 13:47:13 04.03.2017   Titel:              Zitieren

http://www.win-api.de/tutorials.php?tutid=12
http://www.winprog.org/tutorial/app_four.html
https://www.codeproject.c ....... ont-for-all-child-windows
C++ Forum :: WinAPI ::  Hilfe bei Kinderfenster   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.