Nach Abfrage einen Text in den Edit schreiben.....
-
Danke !
Meint er mit Rich Edit Control das ich ein zweites EditFeld mit einbaue oder wie ?
-
Ich versteh nicht ganz, wie man auf Abfrage den Text speichert.
Bitte um Hilfe 311-479-266
-
Er meint das du statt nem normalen Edit-Control lieber ein RichEdit-Control nehmen solltest.
Das kann nämlich unterschiedliche Schriftformatierungen, ändern der Textfarbe, Textausrichtungen, es lassen sich über OLE Bilder einbetten, etc.
Gegenüber RichEdit ist das normale Edit-Control ne arme Wurst
-
Und wie ist so ein Rich Edit Control aufgebaut ?
Muss man das auf irgendeiner Art und Weise definieren oder deklarieren?
Aber das wichtigste was ich nicht erstehe, wie funzt das jetzt mit dem Befehl, das nach einer Abfrage in der Edit Control gespeichert wird ?
Hab das mal so aus gutem Wissen ausprobiert, was aber auch nicht funktioniert :
________________string::text;
text = "Blabla.";
SendMessage(hWnd, WM_SETTEXT, NULL, (LPARAM)text.c_str());_______________
das klappt aber auch nicht

-
Und wie ist so ein Rich Edit Control aufgebaut ?
Muss man das auf irgendeiner Art und Weise definieren oder deklarieren?
Aber das wichtigste was ich nicht erstehe, wie funzt das jetzt mit dem Befehl, das nach einer Abfrage in der Edit Control gespeichert wird ?
Hab das mal so aus gutem Wissen ausprobiert, was aber auch nicht funktioniert :
________________string::text;
text = "Blabla.";
SendMessage(hWnd, WM_SETTEXT, NULL, (LPARAM)text.c_str());_______________
das klappt aber auch nicht

-
Schau dir doch erstmal die Links von tenchou an

-
Daraus werd ich nicht schlau.
Da steht ja nicht mal ein beispel
-
msdn schrieb:
To create a rich edit control, call the CreateWindowEx function, specifying the rich edit window class. If you are using Microsoft Rich Edit 1.0 (Riched32.dll), specify "RichEdit" for the window class parameter. If you are using Rich Edit 2.0 or later (Riched20.dll), specify RICHEDIT_CLASS for the window class parameter.
...dafür wäre nen Beispiel absoluter Overkill

-
Also das Rich Edit Control hat mich eigentlich weniger interessiert, eigentlich wollte ich wissen wie man was nach einer Abfrage in den Edit schreibt.
-
SetWindowText()
-
Ok Danke.
Aber wie setze ich SetWindowText() in einer Abfrage ein ?
braucht man auch hier eine Structur oder ne definition !?
Bin dankbar für jede Antwort.
Also ich habe das mal so in einer ganz einfachen switch Abfrage versucht.
Hat aber nicht so ganz geklappt^^.
Also hier mein Versuch :case WM_COMMAND: { if(lParam ==(LPARAM)hButton_1) { hButton_1->SetWindowText("Neuer Text"); } return 0; }
-
-
Das ist doch ein Button Tutorial und kein SetWindowText() Befehl.

-
Ich kapier des einfach nicht.
Wie geht das ?
Ich hab es schon mit buffer'n versucht aber die kann ich nicht nochmal in einer switch Abfragen, weil man die nur da an ort und stelle deklaieren kann.
Also wie muss des bei SetWindowTExt() ausshauen ?
-
Was meinst du?
-
case muss einen block öffnen um variable zu deklarieren
case WM_WURSTBROT: { } break;
-
Also: User klickt auf deinen Button und darauf hin soll etwas in das Textfeld geschrieben werden?
Wenn auf nen Button geklickt wird, wird eine WM_COMMAND-Nachricht erzeugt.
Bei Verarbeitung von WM_COMMAND musst du erstmal rausfinden ob die WM_COMMAND überhaupt von dem Button kommt (du könntest ja mehrere haben) und dann musst du noch nachgucken was der Button überhaupt von dir will. Diese Infos stehen in wParam und lParam drin.
Daher der Link zum Button-Tutorial.Wenn der korrekte Button gedrückt wurde, rufste halt einfach SetWindowText(HandleDesTextFelds,"DerNeueText"); auf und fertig.
-
Ok, dann auf deutsch zum mitschreiben.
Könnte mir vlt einer so ein kleines bsp. machen ?
Also entweder will das SetWindowTExt()-Befehl nicnt so recht mit mir,, oder es will einfach net funzen.Ich bin erst 14, und check noch nicht so ganz dieses Fach Chinesisch nicht so recht.
Ich kapier nur so einzelne Wörter, aber nicht den ganzen zusammenhang der msdn.
Also, weiss einer wie man das jetzt richtig macht ?
Und wie gesagt, ich hab es noch mal versucht zu buffen, aber das hat nicht geklappt, da man das halt deklarieren muss und es nicht Abfragen kann.
Also bitte ich jettzt irgendjemanden darum.
Danke schonmal im Vorraus.
-
Was funktioniert denn nicht?
Erscheint kein Text? Erst gar kein Textfeld? Ändert sich der Text nicht?
Wie sieht aktuell dein Code-Fragment aus wo du den Text setzt?
-
Mein Problem liegt hier, das er nicht mal compilet !
#include <windows.h> using namespace std; LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //Handle für's Fenster const char szAppName[] = "Html Editor V 1.00"; //Variable für den Namen des Programmes int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, //Initialisierung PSTR szCmdLine,int iCmdShow) { HWND hWnd; //Deklaration MSG msg; WNDCLASS wc; wc.lpfnWndProc = WndProc; wc.hInstance = hInstance; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpszClassName = szAppName; wc.lpszMenuName = NULL; wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.hIcon = LoadIcon(NULL,IDI_APPLICATION); wc.hCursor = LoadCursor(NULL,IDC_ARROW); wc.cbClsExtra = 0; wc.cbWndExtra = 0; RegisterClass(&wc); //Wir Initialisieren das Fenster hWnd = CreateWindow(szAppName, //Der Befehl CreateWindow wird von der hWnd aus gestartet "Html Editor", //Name des Fensters WS_OVERLAPPEDWINDOW, //Sollte man generell machen, damit sich das Fenster überlappen lässt CW_USEDEFAULT, //Gewöhnliche Koordinaten nehmen CW_USEDEFAULT, 1000, //Breite des Fensters 800, // Höhe des Fenster's NULL, NULL, hInstance, NULL); ShowWindow(hWnd, iCmdShow); //Fenster darstellen UpdateWindow(hWnd); // Fenster immer neu aufladen while(GetMessage(&msg,NULL, 0, 0)) //weitere Registrierung des Fenster, ins besondere für die Abfrage { TranslateMessage(&msg); //Übersetzt das Programm DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam) // weitere Deklaration { static HWND hButton; // Die Static für den Button erstellen, in unserem Falle für das Edit-Control static HWND hButton_1; static HWND hButton_2; static HWND hButton_3; PAINTSTRUCT ps; HDC hDC; switch(message) // Abfrage wird gestartet, alle Message's vom Fenster landen hier zum Schluss { case WM_CREATE: // Die Create-Struct, hier werden die Button generated { char *buffer = NULL; buffer = ""; hButton = CreateWindow( "edit", buffer, WS_CHILD | WS_VISIBLE | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_LOWERCASE, 150,150,670,450, hWnd, NULL, ((LPCREATESTRUCT) lParam) -> hInstance, NULL); hButton_1 = CreateWindow( "button", "Initialisierung Header", WS_CHILD | WS_VISIBLE | BS_FLAT , 842,0,150,20, hWnd, NULL, ((LPCREATESTRUCT) lParam) -> hInstance, NULL); return 0; } case WM_COMMAND: { if(lParam ==(LPARAM)hButton_1) { MessageBox(NULL,"Header wird eingebunden","Header-Optionen",NULL); } return 0; } case WM_PAINT: { hDC = BeginPaint(hWnd,&ps); const char szText1[] = "Html Projekt-Source Code :"; TextOut(hDC, 150, 130, szText1, sizeof(szText1) - 1); EndPaint(hWnd,&ps); return 0; } case WM_DESTROY: // Destroy = Zerstören, wir sagen dem Programm also das wenn etwas passiert, das Programm eine Message zum CloseWindow läuft { PostQuitMessage(0); // Diese NAchricht läuft nach Abfrage zum Schluss und closet das Fenster return 0; } } return DefWindowProc(hWnd,message,wParam,lParam); // Hier wird das Fenster aufgelöst }Das in der WM_COMMAND abgefragt wird nach dem Button ist mir schon kla

Trotzdem danke für den Link....Könnt mir vlt. einer schwind da so ein kleines Bsp. reinschreiben ?
Währe super dankabr, und würde ihn nach einwilligung im Abspann des Programmes erwähnen !Danke im Vorraus