AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Hilfe bei Übersetzung der function nach Delphi

Hilfe bei Übersetzung der function nach Delphi

Ein Thema von lbccaleb · begonnen am 31. Dez 2008 · letzter Beitrag vom 31. Dez 2008
Antwort Antwort
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#1

Hilfe bei Übersetzung der function nach Delphi

  Alt 31. Dez 2008, 14:00
Hey,

könnt Ihr mir helfen bei der Übersetzung dieser Methode nach Delphi??


Code:
void CMainDlg::OnDrawItem ( UINT uID, LPDRAWITEMSTRUCT lpdis )
{
CDCHandle dc = lpdis->hDC;
CRect rcCtrl = lpdis->rcItem;
CString sText;
const UINT uFormat = DT_SINGLELINE|DT_CENTER|DT_VCENTER|DT_NOPREFIX;

    if ( IDC_CLOCK != uID || ODT_STATIC != lpdis->CtlType )
        {
        SetMsgHandled(false);
        return;
        }

    m_wndTimeLabel.GetWindowText ( sText );
[b]
    if ( IsCompositionEnabled() )
        {
        // Set up a memory DC where we'll draw the text.
        CDC dcMem;

        dcMem.CreateCompatibleDC ( dc );
 
        dcMem.SaveDC();

        // Create a 32-bit bmp for use in offscreen drawing when glass is on
        BITMAPINFO dib = {0};
        CBitmap bmp;

        dib.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
        dib.bmiHeader.biWidth = rcCtrl.Width();
        dib.bmiHeader.biHeight = -rcCtrl.Height(); // negative because DrawThemeTextEx() uses a top-down DIB
        dib.bmiHeader.biPlanes = 1;
        dib.bmiHeader.biBitCount = 32;
        dib.bmiHeader.biCompression = BI_RGB;[/b]

//habe ich auch übersetzt aber geht bei mir nicht!!
        bmp.CreateDIBSection ( dc, &dib, DIB_RGB_COLORS, NULL, NULL, 0 );

        // Set up the DC state.
        DTTOPTS dto = { sizeof(DTTOPTS) };

        dto.dwFlags = DTT_COMPOSITED|DTT_GLOWSIZE;
        dto.iGlowSize = 10;
       
//wie übersetz ich das hier??
        dcMem.SelectBitmap ( bmp );
        dcMem.SelectFont ( m_font );

        DrawThemeTextEx ( m_hTheme, dcMem, 0, 0, CT2CW(sText), -1, uFormat, rcCtrl, &dto );

        dc.BitBlt ( rcCtrl.left, rcCtrl.top, rcCtrl.Width(), rcCtrl.Height(), dcMem, 0, 0, SRCCOPY );

        dcMem.RestoreDC(-1);
        }
//der teil ist nicht so wichtig!!
    else
        {
        dc.SaveDC();

        dc.FillSolidRect ( rcCtrl, GetSysColor(COLOR_3DFACE) );

        dc.SetBkMode ( TRANSPARENT );
        dc.SetTextColor ( GetSysColor(COLOR_WINDOWTEXT) );
        dc.SelectFont ( m_font );

        dc.DrawText ( CT2CW(sText), -1, rcCtrl, uFormat );

        dc.RestoreDC(-1);
        }
}
Mir geht es dabei um das erzeugen der Vista "Glow-Schrift"

Danke schon mal..

Edit:
mit den bitmapheader und DTTOPTS habe ich keine probleme, die habe ich übersetzt bekommen!
ich glaub ich hab eher nen problem damit, was ich da überhaupt machen, denn ich kenn mich mit dem zeichnen selber nicht so wirklich aus... ;-( da brauch ich nachhilfe...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Hilfe bei Übersetzung der function nach Delphi

  Alt 31. Dez 2008, 14:05
Hallo

Übersetze doch mal, was für dich klar / einfach ist.

z.B
Code:
dib.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
dib.bmiHeader.biSize := SizeOf(BITMAPINFOHEADER); etc.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Hilfe bei Übersetzung der function nach Delphi

  Alt 31. Dez 2008, 14:15
Zitat:
könnt Ihr mir helfen bei der Übersetzung dieser Methode nach Delphi??
Ja, helfen ja aber helfen ist ungleich alles machen
Mache du den Anfang und sag uns an welcher Stelle du nicht weiter kommst
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Hilfe bei Übersetzung der function nach Delphi

  Alt 31. Dez 2008, 14:32
Also mir geht es eher um ein paar Funktionen, wie ich den Bitmap Header und DTTOPTS übersetze weiß ich! Genauso wie ich das mit dem hdc übersetze, glaub hab mehr Probleme in der Anwendung, also was ich da eigenbtlich tue ;-( naja kenn mich ncoh nicht so aus mit dem Zeichnen per Winapi...

vlt könnt Ihr mir das erklären, was da genau gemacht wird, ich glaube das würde mir schon helfen..
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Hilfe bei Übersetzung der function nach Delphi

  Alt 31. Dez 2008, 14:40
Übersetzte den Code doch so weit es dir möglich ist und poste dein Ergebnis mit den kommentierten unklaren Stellen
Markus Kinzler
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz