Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Toolbar (format zentriert, rechtsbündig....)

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
27.01.2003, 12:44 Uhr
~Juergen B
Gast


Hallo

Ich habe mir ein Programm mit dem mfc assi zurechtgebastelt,basierend auf CEditView.Einige recht nützliche Funktionen habe ich mir eingefügt,welche auch gut funktionieren.
Nun habe ich meine Toolbar um einige Icons erweitert.
Fett, Kursiv, Unterstrichen, durchgestrichen, linksbündig, zentriert und rechtsbündig.
id_char_bold, id_char_italic, id_char_underline, id_char_strikeout, id_para_left, id_para_center, id_para_right.
Soweit so gut....nun komm ich nicht mehr weiter.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.01.2003, 13:16 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Probier mal:

C++:
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));          
lf.lfHeight = 12;                      
lstrcpy(lf.lfFaceName, _T("Arial"));
//weitere Werte hier eintragen
CFont font;
font.CreateFontIndirect(&lf);
GetEditCtrl().SetFont(&font,FALSE);


Das struct:

C++:
typedef struct tagLOGFONT {
  LONG lfHeight;
  LONG lfWidth;
  LONG lfEscapement;
  LONG lfOrientation;
  LONG lfWeight;
  BYTE lfItalic;
  BYTE lfUnderline;
  BYTE lfStrikeOut;
  BYTE lfCharSet;
  BYTE lfOutPrecision;
  BYTE lfClipPrecision;
  BYTE lfQuality;
  BYTE lfPitchAndFamily;
  TCHAR lfFaceName[LF_FACESIZE];
} LOGFONT, *PLOGFONT;



Mit RichView würde es fast leichter gehen, da dort nicht mehr viel auf ein M$ Word fehlt. Vorallem hast du dort das OLE vom Assi implementiert.

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.01.2003, 15:50 Uhr
~Juergen B
Gast


Hallo

Vielen Dank....jedoch bin ich ein völliger Anfänger und weiß nun nicht,was wohin kommt.
Was kommt denn jetzt im Command Handler des jeweiligen Icons.????????

Gruß Jürgen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.01.2003, 16:15 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Schreibs einfach in die Funktion, welche du in der MessageMap eingetragen hast. Nur weiß ich nicht, ob sich SetFont auf die aktuelle Selektierung oder auf den ganzen Text auswirkt.

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.01.2003, 16:46 Uhr
~Juergen B
Gast


Hallo

Was soll ich denn jetzt wohin schreiben?
Kommt denn nicht in in den Command handler des jeweiligen Icons jeweils ein anderer Code rein?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.01.2003, 20:20 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
ja genau. Wenn du im Klassenassi "id_char_bold" selektierst steht rechts ON_COMMOND. Wenn du doppelt draufklickst, erstellst du eine Funktion. Wenn du nun auf "Code bearbeiten" klickst, gelangst du zur Funktion. Wahrscheinlich meinen wir eh das gleiche Fügs also in den Command handler

mg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
28.01.2003, 13:20 Uhr
~Juergen B
Gast


Mal eine andere Frage.
Kann man denn die Basisklasse (in meinem Fall die CEditView in CRichEditView )im Nachhinein ändern????????
Und wenn....dann wie?


Gruß Jürgen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
28.01.2003, 13:52 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Naja. Ich habs noch nie gemacht. Es gibt aber zwei Wege: Du erstelltst ein leeres Projekt mit einem CRichEditView und ein leeres Projekt mit einem EditView (sie sollten die gleichen Namen haben) und schaust mit WinDiff den Unterschied der Projekte an. Die zweite Variante wäre, einfach ein CRichEditView Projekt zu erstellen und deine bereits vorhandenen Klassen (Dialoge, ...) in den Projektordner zu kopieren und zu implementieren. Also ich würde dir die zweite Variante empfehlen - hört sich momentan nach viel Arbeit an - ist es aber nicht, wenn du viel mit Klassen gearbeitet hast.

mfg mike
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
29.01.2003, 10:28 Uhr
~Juergen B
Gast


Hallo

Irgendwie funktioniert es nicht so,wie ich es mir vorgestellt habe.
Wenn ich diesen code eingebe,dann verrutscht der Text nur ein wenig und die Schrift wird ein wenig größer und sonst passiert nichts.Außerdem wird der ganze Text im Fenster miteinbezogen und nicht der markierte.
Also nochmal.Ich habe die normale Toolbar um einige Icons erweitert.
Das erste Icon was ich dazugefügt habe,soll den Text Fett darstellen,wenn ich draufklicke.
Das zweite Kursiv
Das dritte Icon Unterstrichen
Das vierte Icon Durchgestrichen
Das fünfte linksbündig
Das sechste zentriert
Das siebte rechtsbündig
Diese sieben Icons von der Toolbar habe ich folgende Id's zugewiesen

id_char_bold, id_char_italic, id_char_underline, id_char_strikeout, id_para_left, id_para_center, id_para_right.
Und für jeden dieser 7 Icons brauchte ich,denke ich mal,einen anderen Code und dann die jeweilige funktionen aufrufen zu können.
Leider habe ich bis jetzt nichts passendes dazu gefunden.

Gruß Jürgen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
29.01.2003, 14:40 Uhr
mike
Pinguinhüpfer
(Operator)


Hi!
Ich glaub nicht, dass ein EditView für dein Vorhaben geeignet ist. EditViews sind für einfache Logg-Views gedacht. Du musst die

C++:
LONG lfWeight;
BYTE lfItalic;
BYTE lfUnderline;


nur auf TRUE bzw. einen Zahlenwert eingeben. Bei CRichEditView kannst du eben auch nur den selektierten Text ändern.

mfg mike
--
 
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: