1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. BugFix

Beiträge von BugFix

  • Minecraft Programm

    • BugFix
    • 23. Dezember 2010 um 16:55

    Ich gebe den Thread frei.
    Meines Erachtens eine reine Automatisierung, die keinerlei Vorteile im Spiel verschafft. Also eigentlich eine Anwendung von AutoIt ganz in den ursprünglichen Wurzeln von AutoIt.

  • Diskussion über Anfangsmoderation

    • BugFix
    • 23. Dezember 2010 um 14:54
    Zitat von anno2008

    Die Zahl der User die eigentlich gebleiben wären sinkt.


    Das sehe ich nicht so.
    Aktive User sind es ca. 200. Ich checke das in Intervallen, indem ich die User mit > 100 Posts anschaue und wer davon innerhalb der letzten 3 Monate auch online war. Es pendelt immer um 200. Und das sind die Leute, mit denen wir auch gern zusammen arbeiten. :rolleyes:

  • Diskussion über Anfangsmoderation

    • BugFix
    • 23. Dezember 2010 um 13:21

    Es passiert nun das, was ich befürchtet habe: Die räudige Bot-Diskussion kommt wieder hoch. :wacko:
    Es ist schwierig festzustellen, ob ein Thread Botpotential hat oder nicht. Ich versuche da recht moderat mit umzugehen und gebe Themen frei, solange sie nicht eineindeutig gegen die Regeln verstoßen. Sollte sich später trotzdem etwas in die falsche Richtung bewegen, wird dann eingegriffen.
    Da wir alle individuell verschieden sind, können unsere Standpunkte und Verfahrensweisen durchaus auch differenzieren. Das sehe ich jedoch nicht als so dramatisch an. Mag auch ab und an etwas Ärger aufkommen über einige Entscheidungen.

    Eines sollte aber immer bedacht werden:
    Eine von vornherein klare, sauber formulierte Fragestellung schützt auch vor Fehlinterpretationen unsererseits!

    Ich bitte auch all jene, die sich evtl. ungerecht behandelt fühlen, auch mal bei Mods/Admins nachzufragen ob das denn so OK war. Keiner von uns ist vor Fehlentscheidungen gewappnet. Und wir brechen uns keinen dabei ab, dieses auch zuzugeben, wenn dem so ist.
    Das bezieht sich allerdings nicht auf Entscheidungen, die klare Regelverstöße als Hintergrund haben und auch als solche deutlich erkennbar sind. Wer dann nochmal nachfragt ist echt zu heiß gebadet. ;)

  • Rechenschritte verursachen Rundungsfehler

    • BugFix
    • 23. Dezember 2010 um 12:17

    Meiner Meinung nach ist es entscheidend, in welcher Einheit a,b,c,d vorliegen (kg, m², m³, etc.). Denn von diesen Einheiten ausgehend kannst du kleinste Teilmengen festlegen und diese zur Berechnung heranziehen. Mit reinen Prozenten rechnen ist nicht sehr sinnvoll.
    Du gehst dann denn umgekehrten Weg von einer Kombination möglicher Teilmengen zur gewünschten Gesamtmenge. Somit bleiben Fehlmengen durch Rundungsdifferenzen außen vor.

  • Diskussion über Anfangsmoderation

    • BugFix
    • 23. Dezember 2010 um 12:05

    Ich halte das System für sehr sinnvoll. Wie Pee bereits sagte, ist vorab filtern effizienter als hinterher zu säubern.
    Vielleicht ist es technisch umsetzbar, dass diese Beiträge einen Status "in Moderation" erhalten, der für alle ersichtlich ist. Dann ist dem Threadersteller klar, dass dort noch drübergeschaut werden muß.
    Ich versuche immer, wenn ich neue Beiträge zur Moderation sehe, dieses auch zügig zu erledigen. Und ich denke, das tun alle Mods und PU's. Insofern sehe ich keinen Handlungsbedarf bezüglich Fristen oder Anzahl Threads.

    P.S. Dass wir zur Zeit recht wenig Bot-Probleme haben dürfte durchaus ein Erfolg dieses Systems sein.

  • Eingaben sperren bis auf Inputbox

    • BugFix
    • 22. Dezember 2010 um 16:44

    Hier eine Lösung. Solange das Fenster aktiv ist funktioniert die Tastatur. Will man tricksen und z.B. mit Alt+Tab rausspringen, so geht das - aber hinterher ist keine Tastatureingabe mehr möglich. :D
    Die Maus ist im Eingabefenster gefangen. Durch den Popup-Style läßt sich dieses auch nicht verschieben.

    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #Include <Misc.au3>

    [/autoit] [autoit][/autoit] [autoit]

    OnAutoItExitRegister('OnAutoItExit')

    [/autoit] [autoit][/autoit] [autoit]

    Opt('MustDeclareVars', 1)
    Global $hStub_KeyProc = DllCallbackRegister("_KeyProc", "long", "int;wparam;lparam")
    Global $hmod = _WinAPI_GetModuleHandle(0)
    Global $hHook = _WinAPI_SetWindowsHookEx($WH_KEYBOARD_LL, DllCallbackGetPtr($hStub_KeyProc), $hmod)
    Global $active = False

    [/autoit] [autoit][/autoit] [autoit]

    Global $gui
    _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Main()
    Local $input, $btn, $pos, $sRead, $sPass = 'Passwort'
    $gui = GUICreate('Passwort Eingabe', 180, 70, -1, -1, $WS_POPUP)
    $input = GUICtrlCreateInput('', 10, 10, 160, 20)
    $btn = GUICtrlCreateButton('OK', 10, 40, 40, 20)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    $pos = WinGetPos($gui)
    _MouseTrap($pos[0], $pos[1], $pos[0] + $pos[2], $pos[1] + $pos[3])

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    If BitAND(WinGetState($gui), 8) Then
    $active = True
    Else
    $active = False
    EndIf
    Switch GUIGetMsg()
    Case $btn
    $sRead = GUICtrlRead($input)
    If $sRead == $sPass Then
    _Exit()
    Else
    GUICtrlSetData($input, '')
    EndIf
    EndSwitch
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Exit()
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;===========================================================
    ; callback function
    ;===========================================================
    Func _KeyProc($nCode, $wParam, $lParam)
    If $nCode < 0 Then Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    If Not $active Then Return -1 ; Tastatureingabe außerhalb Input unmöglich
    Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func OnAutoItExit()
    _WinAPI_UnhookWindowsHookEx($hHook)
    DllCallbackFree($hStub_KeyProc)
    EndFunc

    [/autoit]
  • Diskussion über Anfangsmoderation

    • BugFix
    • 22. Dezember 2010 um 14:11

    Das ist ganz simpel:
    - Ist dein Thread "sauber" (kein Verstoß gegen unsere Forenregeln), wird er aktiviert.
    - Verstößt du damit gegen die Regeln, wird der Thread gelöscht und du bekommst (je nach Grad des Verstoßes) nur 'ne PN oder was auf die Ohren (Verwarnung).
    "Regeln kenne ich nicht" - lassen wir nicht gelten. Denen stimmt jeder bei der Anmeldung zu.

    Erwarte aber nicht, dass wir hier nur auf der Lauer liegen um Threads freizuschalten. ;) Es kann durchaus auch mal etwas dauern. Etwas Geduld ist also nicht die schlechteste Lösung. ;)

  • Excel Feld leer oder nicht?

    • BugFix
    • 22. Dezember 2010 um 13:12

    Mal aus der Hüfte, ungetestet:

    Spoiler anzeigen
    [autoit]

    Func _WriteTimeToCell($sExcelPath, $sDate, $iTime)
    If StringRight($sExcelPath, 4) <> '.xls' Then $sPath &= '.xls'
    If Not FileExists($sExcelPath) Then Return SetError(1,0,0) ; Datei existiert nicht
    Local $oExcel = ObjGet('', "Excel.Application"), $fCreate = False, $address, $value
    If @error Then
    $oExcel = ObjCreate("Excel.Application")
    $fCreate = True
    EndIf
    With $oExcel
    .Visible = 0
    .Workbooks.Open($sExcelPath)
    $match = .ActiveWorkBook.Sheets(1).Range('A:A').Find($sDate)
    .Application.DisplayAlerts = False
    If Not IsObj($match) Then
    If $fCreate Then
    .Application.Quit
    Else
    .ActiveWorkBook.Close
    .Application.DisplayAlerts = True
    EndIf
    Return SetError(2,0,0) ; $sDate nicht gefunden
    EndIf
    $address = $match.Address(False, False)
    $value = .ActiveWorkBook.Sheets(1).Range($address).Offset(0, 1).Value
    .ActiveWorkBook.Sheets(1).Range($address).Offset(0, 1).Value = $value +$iTime
    .ActiveWorkBook.Save
    If $fCreate Then
    .Application.Quit
    Else
    .ActiveWorkBook.Close
    .Application.DisplayAlerts = True
    EndIf
    EndWith
    Return 1
    EndFunc

    [/autoit]
  • Excel Feld leer oder nicht?

    • BugFix
    • 21. Dezember 2010 um 18:00
    Zitat von danielsan85

    Nicht wenn sein skript das Feld anklickt und er garnicht dabei ist.


    :wacko: Ein Skript, das Excel-Zellen anklickt?! Das wäre ja, als ob man sich die Schuhe mit 'nem Spannkloben zubindet. :rofl:
    Sag lieber mal, was es überhaupt werden soll, dann läßt sich auch sinnvolle Hilfestellung geben.

  • Excel Sheet - very hidden setzen

    • BugFix
    • 20. Dezember 2010 um 23:17

    Hi,
    ich versuche krampfhaft einem Excel-Sheet die Property:
    Visible = xlSheetVeryHidden
    zu verpassen. Doch leider ohne Erfolg. Über das VBA-Interface (Alt+F11) kann ich das tadellos ausführen.
    Jemand 'ne Idee?

    Spoiler anzeigen
    [autoit]

    $oExcel = ObjCreate("Excel.Application")
    With $oExcel
    .SheetsInNewWorkbook = 1
    .Visible = 1
    .WorkBooks.Add
    .Workbooks.Sheets(1).Visible = 2 ; funzt nicht ($xlSheetVeryHidden = 2)
    EndWith

    [/autoit] [autoit][/autoit] [autoit]

    ; auch diese Version tuts nicht
    $oExcel = ObjCreate("Excel.Application")
    With $oExcel
    .SheetsInNewWorkbook = 1
    .Visible = 1
    .WorkBooks.Add.Activate
    .ActiveWorkbook.Sheets(1).Visible = 2 ; funzt nicht ($xlSheetVeryHidden = 2)
    EndWith

    [/autoit]
  • Chatprogramm: Elephender Beta 1

    • BugFix
    • 18. Dezember 2010 um 15:53
    Zitat von deung

    Jeder der den Quellcode haben möchte kann sich bei mir Melden...


    :rofl: Du hast ja eine abartige Vorstellung von Open Source. Vielleicht verlangst du dann noch eine Versandkostenpauschale. :D
    Ich rate dir mal dringend, die Definition von Open Source nachzulesen.

  • mehrdimensionalen array vergleichen

    • BugFix
    • 17. Dezember 2010 um 17:49

    Verwende doch ein Wertesystem, das jeder Kombination einen fixen Wert zuweist. Dann brauchst du nur diesen einen Wert abgleichen.

  • Project Euler Mathe Rätsel durch Algorithmen lösen

    • BugFix
    • 17. Dezember 2010 um 14:53

    Ich glaub, ich hab ein generelles Verständnisproblem bei einigen Fragestellungen. Das ist teilweise so wischiwaschi formuliert, dass man mehrere Rechnungswege testen muß um dann herauszufinden, welches die Aufgabe war. :D
    (Hab 9 ausgelassen - mag keine Geometrie ;) und bin grad bei 11)

    Zitat

    dass man z.b nr 9 auch wunderbar durch nachdenken hinbekommt

    Das ist eigentlich nicht Sinn der Sache. Du sollst ja einen Alghoritmus finden, mit dem die Aufgabe rechnerisch gelöst wird. "Nachdenken" im Sinne von im Kopf Ergebnisvarianten kombinieren, kann zwar auch zum Ziel führen, liegt aber nicht im Sinne des Erfinders. ;)

  • Project Euler Mathe Rätsel durch Algorithmen lösen

    • BugFix
    • 17. Dezember 2010 um 12:53
    Zitat von bernd670

    Es geht wohl eher um die geraden Zahlen der Fibonacci-Reihe!


    Das kommt aber auch nicht hin. Dann würde die Aufgabe lauten: Summe aller geradzahligen Fibonacci-Elemente, wobei die Summe 4.000.000 nicht überschreiten darf.
    Geradzahlig Elemente mit Summe < 4 Mio sind: 2,8,34,144,610,2584,10946,46368,196418,832040 = 1.089.154 (nä. geradzahlig wäre 3.524.578 - somit drüber)
    Das Ergebnis wird aber als falsch gewertet.

    Edit: Die Fragestellung ist absolut mißverständlich. Da die Briten wohl zu faul sind Kommata zu verwenden, kann das "which" sowohl auf die Summe als auch auf das Einzelelement bezogen werden. Gemeint ist in diesem Fall das Einzelelement.
    Wie sagte Asterix so treffend: "Die spinnen, die Briten." :rofl:

  • Project Euler Mathe Rätsel durch Algorithmen lösen

    • BugFix
    • 17. Dezember 2010 um 09:35

    Ja, ist nicht schlecht. Ich finde aber z.B. schon Aufgabe 2 recht spaßig. Soll ich rechnen oder schätzen? "even-valued terms" würde ich als: "noch geschätzte Ausdrücke" übersetzen. Somit finde ich in dort keine sinnvolle Fragestellung. ?(

  • Label automatisch vergrößern

    • BugFix
    • 16. Dezember 2010 um 00:14

    Die Textgröße kannst du genau bestimmen mit meinem Tool TextMeter.
    Aber einfacher ist es das Label von vornherein in der Größe des längsten Eintrages zu erstellen. Den Platz mußt du sowieso frei halten, wenn du die Größe dynamisch anpassen willst.

  • SB Sprüche

    • BugFix
    • 12. Dezember 2010 um 18:13

    Das hier ist der beste Beweis: "Internet vergisst nichts" :D
    Kaum lass ich mal unkontrollierte Gedanken meine Lippen passieren, wird gleich alles dokumentiert. :wacko:

    Erweiterung für die Anmeldehinweise bei neuen Usern empfohlen:

    Code
    "Du hast das Recht in der SB zu schweigen. 
    Solltest du auf dieses Recht verzichten kann und wird alles, 
    was du dort von dir gibst, mit Sicherheit gegen dich verwendet werden."

    :rofl:

    Sammel mal schön weiter. :thumbup:

  • Europäische Union

    • BugFix
    • 7. Dezember 2010 um 21:57

    Das schreit doch eigentlich nach Dictionary-Objekt. :D

    Spoiler anzeigen
    [autoit]

    $oCapitals = ObjCreate("Scripting.Dictionary")

    [/autoit] [autoit][/autoit] [autoit]

    $oCapitals.Add("Belgien", "Brüssel")
    $oCapitals.Add("Deutschland", "Berlin")
    $oCapitals.Add("Frankreich", "Paris")
    $oCapitals.Add("Italien", "Rom")
    $oCapitals.Add("Luxemburg", "Luxemburg")
    $oCapitals.Add("Niederlande", "Amsterdam")
    $oCapitals.Add("Dänemark", "Kopenhagen")
    $oCapitals.Add("Irland", "Dublin")
    $oCapitals.Add("England", "London")
    $oCapitals.Add("Griechenland", "Athen")
    $oCapitals.Add("Protugal", "Lissabon")
    $oCapitals.Add("Spanien", "Madrid")
    $oCapitals.Add("Finnland", "Helsinki")
    $oCapitals.Add("Österreich", "Wien")
    $oCapitals.Add("Schweden", "Stockholm")
    $oCapitals.Add("Estland", "Tallinn")
    $oCapitals.Add("Lettland", "Riga")
    $oCapitals.Add("Litauen", "Vilnius")
    $oCapitals.Add("Malta", "Valletta")
    $oCapitals.Add("Polen", "Warschau")
    $oCapitals.Add("Slowakei", "Bratislava")
    $oCapitals.Add("Slowenien", "Ljubljana")
    $oCapitals.Add("Tschechien", "Prag")
    $oCapitals.Add("Ungarn", "Budapest")
    $oCapitals.Add("Zypern", "Nikosia")
    $oCapitals.Add("Bulgarien", "Sofia")
    $oCapitals.Add("Rumänien", "Bukarest")

    [/autoit] [autoit][/autoit] [autoit]

    For $country In $oCapitals
    $Eingabe = InputBox ("EU Städte + Hauptstädte","Was ist die Hauptstadt von " & $country & "?")
    If @error Or $Eingabe = '' Then ExitLoop
    $capital = $oCapitals.Item($country)
    If $Eingabe = $capital Then
    MsgBox (0,"Richtig!","Die Hauptstadt von " & $country & " ist " & $capital & "!")
    Else
    MsgBox (0,"Falsch","Die Hauptstadt von " & $country & " war nicht " & $Eingabe & @CRLF & @CRLF & "Die Hauptstadt von " & $country & " war " & $capital & "!")
    EndIf
    Next

    [/autoit]
  • Änderung der Spaltenbreite eines Listviews erkennen

    • BugFix
    • 7. Dezember 2010 um 21:10

    Ich habe dafür nirgends eine Deklaration gefunden, als ich es mal brauchte. Hatte mir dann einfach $iCode in die Console ausgeben lassen - und bei Spaltenbreite ändern war dies dann -12. 8o

  • Gedrehter Text

    • BugFix
    • 7. Dezember 2010 um 20:15

    Meinst du sowas?

    Spoiler anzeigen
    [autoit]

    ; ver 3.2.12.1
    #Include <WinAPI.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Global $GUI = GUICreate('Test Rotation')
    GUICtrlCreateLabel('Text:', 10, 13, 50, 17)
    Global $In = GUICtrlCreateInput('Hallo!', 70, 10, 150, 20)
    Global $bt = GUICtrlCreateButton('Schreibe Text', 250, 10, 100, 20)
    Global $btDel = GUICtrlCreateButton('Lösche Text', 250, 40, 100, 20)
    GUICtrlCreateLabel('Pos. X:', 10, 43, 50, 17)
    Global $inX = GUICtrlCreateInput('80', 70, 40, 30, 20)
    GUICtrlCreateLabel('Pos. Y:', 110, 43, 50, 17)
    Global $inY = GUICtrlCreateInput('280', 170, 40, 30, 20)
    GUICtrlCreateLabel('Winkel:', 10, 73, 50, 17)
    Global $inDeg = GUICtrlCreateInput('30', 70, 70, 30, 20)
    GUICtrlCreateLabel('Höhe:', 110, 73, 50, 17)
    Global $inSize = GUICtrlCreateInput('60', 170, 70, 30, 20)
    GUICtrlCreateLabel('Breite:', 10, 103, 50, 17)
    Global $inWeight = GUICtrlCreateInput('400', 70, 100, 30, 20)
    GUICtrlCreateLabel('Font:', 110, 103, 50, 17)
    Global $inFont = GUICtrlCreateInput('Comic Sans MS', 170, 100, 200, 20)
    GUICtrlCreateGroup(' Stil ', 10, 130, 280, 40)
    Global $rDef = GUICtrlCreateRadio('Standard', 15, 145, 65)
    GUICtrlSetState(-1, $GUI_CHECKED)
    Global $rIt = GUICtrlCreateRadio('Italic', 85, 145, 45)
    Global $cbUn = GUICtrlCreateCheckbox('Underlined', 135, 145, 70)
    Global $cbSt = GUICtrlCreateCheckbox('StrikeOut', 215, 145, 70)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateLabel('Farbe Schrift:', 10, 183, 80, 17)
    Global $inCol = GUICtrlCreateInput('', 90, 180, 60, 20)
    GUICtrlCreateLabel('Hintergrund:', 160, 183, 80, 17)
    Global $inbCol = GUICtrlCreateInput('', 230, 180, 60, 20)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    Global $Rect

    [/autoit] [autoit][/autoit] [autoit]

    Do
    $msg = GUIGetMsg()
    If $msg = $bt Then
    Local $type = 1, $col = -1, $bkcol = -1
    If BitAND(GUICtrlRead($rIt), $GUI_CHECKED) Then $type = 2
    If BitAND(GUICtrlRead($cbUn), $GUI_CHECKED) Then $type += 4
    If BitAND(GUICtrlRead($cbSt), $GUI_CHECKED) Then $type += 8
    Local $readFont = GUICtrlRead($inFont)
    If $readFont = '' Then $readFont = -1
    Local $col = GUICtrlRead($inCol), $bkcol = GUICtrlRead($inbCol)
    If $col = '' Then $col = -1
    If $bkcol = '' Then $bkcol = -1
    _WriteRotateText($GUI, GUICtrlRead($In), GUICtrlRead($inX), GUICtrlRead($inY), GUICtrlRead($inDeg), _
    GUICtrlRead($inSize), GUICtrlRead($inWeight), $type, $readFont, $col, $bkcol)
    ElseIf $msg = $btDel Then
    _WinAPI_RedrawWindow($GUI)
    EndIf
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit] [autoit][/autoit] [autoit]

    ;==================================================================================================
    ; Function Name: _WriteRotateText($hWnd, $sWrite, $iX, $iY, $iDeg, $iSize [, $iWeight=400 _
    ; [, $iType=1 [, $sFont=-1 [, $iCol=-1 [, $iBkCol=-1 [,$bRedraw=True]]]]]])
    ; Description: Schreibt einen Text mit bestimmtem Winkel in das angegebene Fenster
    ; Parameter(s): $hWnd Handle des Fensters
    ; $sWrite der zu schreibende Text
    ; $iX x-Position auf dem Fenster
    ; $iY y-Position auf dem Fenster
    ; $iDeg Rotationswinkel des Textes
    ; $iSize Höhe des Textes
    ; optional: $iWeight Fontbreite 0 - 1000 (Standard 400)
    ; optional: $iType Fonttyp 1=normal (Standard); 2=Italic; 4=Underline; 8=StrikeOut
    ; 1 oder 2 können mit 4 und 8 kombiniert werden (5;9 od. 6;10)
    ; optional: $sFont Fontname -1=Font der Form (Standard)
    ; optional: $iCol Fontfarbe -1=schwarz (Standard)
    ; optional: $iBkCol Hintergrundfarbe -1=Hintergrundfarbe des Fensters (Standard)
    ; optional: $bRedraw True=Fenster vorher neu zeichnen (vorige Beschriftung löschen - Standard)
    ; Requirement(s): #Include <WinAPI.au3>; #include <StructureConstants.au3>; #include <WindowsConstants.au3>
    ;==================================================================================================
    Func _WriteRotateText($hWnd, $sWrite, $iX, $iY, $iDeg, $iSize, $iWeight=400, $iType=1, $sFont=-1, $iCol=-1, $iBkCol=-1, $bRedraw=True)
    If $bRedraw Then _WinAPI_RedrawWindow($hWnd)
    Local $tRect = DllStructCreate($tagRECT)
    DllStructSetData($tRect, 'Left', $iX)
    DllStructSetData($tRect, 'Top', $iY)
    Local $rotate = $iDeg *10
    If ($rotate = 900) Or ($rotate = 1800) Or ($rotate = 2700) Then $rotate += 1
    Local $RotateMe = DllStructCreate($tagLOGFONT)
    DllStructSetData($RotateMe, 'Escapement', $rotate)
    DllStructSetData($RotateMe, 'Height', ($iSize * -20)/_WinAPI_TwipsPerPixelY())
    If $iWeight <> 400 Then DllStructSetData($RotateMe, 'Weight', $iWeight)
    If BitAND($iType, 2) Then DllStructSetData($RotateMe, 'Italic', True)
    If BitAND($iType, 4) Then DllStructSetData($RotateMe, 'Underline', True)
    If BitAND($iType, 8) Then DllStructSetData($RotateMe, 'StrikeOut', True)
    If $sFont <> -1 Then DllStructSetData($RotateMe, 'FaceName', $sFont)
    Local $rFont = _WinAPI_CreateFontIndirect($RotateMe)
    Local $hDC = _WinAPI_GetDC($hWnd)
    If $iCol <> -1 Then _WinAPI_SetTextColor($hDC, $iCol)
    If $iBkCol <> -1 Then _WinAPI_SetBkColor($hDC, $iBkCol) ; wenn Transparenz gewünscht, Folgezeile aktivieren
    ;~ _WinAPI_SetBkMode($hDC, $TRANSPARENT)
    _WinAPI_SelectObject($hdc, $rFont)
    _WinAPI_DrawText($hDC, $sWrite, $tRect, BitOR($DT_NOCLIP,$DT_NOPREFIX))
    _WinAPI_ReleaseDC($hWnd, $hDC)
    EndFunc ;==>_WriteRotateText

    [/autoit]

    Man muß sich ja nicht unbedingt mit GDI+ quälen. :D

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™