Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > XProfan > Helfer & Tools

Helfer & Tools Programme für und in XProfan und Fragen dazu.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Hilfe bei Script Erstellung
Aufrufe: 15, Antworten: 5
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26731, Antworten: 4207
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 121, Antworten: 15
Gehe zum ersten neuen Beitrag Grand Prix 2012 Eurovision
Aufrufe: 36, Antworten: 4
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7572, Antworten: 179
Gehe zum ersten neuen Beitrag Verlust der Internetverbindung
Aufrufe: 43, Antworten: 2
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 34, Antworten: 2
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 25, Antworten: 4
Gehe zum ersten neuen Beitrag Dateien lassen sich nicht...
Aufrufe: 34, Antworten: 3
Gehe zum ersten neuen Beitrag Programmvorstellung:...
Aufrufe: 22, Antworten: 1
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18.09.2010, 12:31   #1 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.877
Beitrag Bild in RTF-Datei einbinden

Irgendeine "graue XProfan-Eminenz" hatte mal einen Code veröffentlicht, mit dem es möglich war, Bilder in RTF-Dateien einzubinden.
Finde den Urheber und den Code einfach nicht. Kann mir jemand einen Tipp geben ?
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 18.09.2010, 19:52   #2 (Direktlink)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
Standard

RTF mit OLE-Objekten siehe : Index und Home Dieter Zornow

Gruß Thomas
THFR ist offline   Mit Zitat antworten
Alt 20.09.2010, 11:30   #3 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 13.02.2009
Beiträge: 19
Standard

Hi Leute!

Hier nochmal eine aktuelle kompakte Minimalversion:
Code:
'****************** Demo: IRichEditOleCallback-Interface für RichEdit-Controls
'****************** XProfan² 11/12 + Windows XP
'****************** © by Uwe "Pascal" Niemeier 09'2010
window (%maxx-10),(%maxy-10)
usermessages 16
 
$H Windows.ph
$H Richedit.ph
 
def StgCreateDocfileOnILockBytes(4) !"ole32","StgCreateDocfileOnILockBytes"
def OleCreateFromFile(8) !"ole32","OleCreateFromFile"
def CreateILockBytesOnHGlobal(3) !"ole32","CreateILockBytesOnHGlobal"
def CLSIDFromString(2) !"ole32","CLSIDFromString"
 
declare IFace&,VTable#,asm#
dim asm#,20'--ASM-Ersatz für QueryAcceptData >> zu viele Parameter (6!) für ProcAddr()
long  asm#,0=-1192457387,-2147467263,-1034033781,24
dim VTable#,60'--------------------IRichEditOleCallback-Interface
long VTable#, 0=procaddr("NotImplemented",2)'-----QueryInterface
long VTable#, 4=procaddr("NotImplemented",1)'-----AddRef (return &E_NOTIMPL)
long VTable#, 8=procaddr("NotImplemented",1)'-----Release (return &E_NOTIMPL)
long VTable#,12=procaddr("GetNewStorage",2)'------GetNewStorage (IStorage aktualisieren)
long VTable#,16=procaddr("NotImplemented",4)'-----GetInPlaceContext
long VTable#,20=procaddr("NotImplemented",2)'-----ShowContainerUI
long VTable#,24=procaddr("QueryInsertObject",4)'--QueryInsertObject (return &E_OK)
long VTable#,28=procaddr("NotImplemented",2)'-----DeleteObject
long VTable#,32=asm#'-----------------------------QueryAcceptData (return &E_NOTIMPL)
long VTable#,36=procaddr("NotImplemented",2)'-----ContextSensitiveHelp
long VTable#,40=procaddr("NotImplemented",4)'-----GetClipboardData
long VTable#,44=procaddr("NotImplemented",4)'-----GetDragDropEffect
long VTable#,48=procaddr("GetContextMenu",5)'-----GetContextMenu (wird aufgerufen bei Rechtsklick)
long VTable#,52=VTable#
IFace&=VTable#+52
 
proc NotImplemented'---------------------------------------NotImplemented
return $80004001
endproc'------------------------------------------------------------------
 
proc GetNewStorage'------------------------------------------GetNewStorage
parameters IFace&,IStorage&
declare ILockBytes&
CreateILockBytesOnHGlobal(0,1,addr(ILockBytes&))
StgCreateDocfileOnILockBytes(ILockBytes&,$1012,0,IStorage&)
CallMethod(ILockBytes&,2)'--Release
return 0
endproc'------------------------------------------------------------------
 
proc QueryInsertObject'----------------------------------QueryInsertObject
return 0'--Rückfrage, ob Einfügen erlaubt >> OK
endproc'------------------------------------------------------------------
 
proc GetContextMenu'----------------------------------------GetContextMenu
var File$=loadfile$("Bild einfügen","*.bmp")'--Hier könnte auch ein Menü erscheinen
case len(File$):InsertOLE(Edit&,File$)'--------Es können auch andere Dateitypen eingefügt werden
endproc'------------------------------------------------------------------
 
proc CallMethod'-------------------------------------------CallMethod
parameters IFace&,Method&
declare VTable&
VTable&=long(IFace&,0)
Method&=long(VTable&,Method&*4)
case %pcount=2:return call( Method&,IFace& )
case %pcount=3:return call( Method&,IFace&,&(3) )
case %pcount=4:return call( Method&,IFace&,&(3),$(4) )
case %pcount=5:return call( Method&,IFace&,&(3),&(4),&(5) )
endproc'-------------------------------------------------------------
 
proc InsertOle'---------------------------------------------InsertOle
parameters RTF&,File$'--Hier wird das Bild an Cursor/Markierung eingefügt
declare ILockBytes&,IStorage&,IDataObject&,IRichEditOle&,FORMATETC#,IID#,Temp#
dim FORMATETC#,20:dim IID#,16:dim Temp#,261:long FORMATETC#,8=1,-1
CreateILockBytesOnHGlobal(0,1,addr(ILockBytes&))
StgCreateDocfileOnILockBytes(ILockBytes&,$1012,0,addr(IStorage&))
stringW Temp#,0="{0000010e-0000-0000-C000-000000000046}"'--IID_IDataObject
CLSIDFromString(Temp#,IID#)
stringW Temp#,0=File$
OleCreateFromFile(0,Temp#,IID#,1,FORMATETC#,0,IStorage&,addr(IDataObject&))
sendmessage(RTF&,~EM_GETOLEINTERFACE,0,addr(IRichEditOle&))
CallMethod(IRichEditOle&,18,IDataObject&,0,0)'--ImportDataObject
CallMethod(ILockBytes&,2)'----Release
CallMethod(IStorage&,2)'------Release
CallMethod(IDataObject&,2)'---Release
CallMethod(IRichEditOle&,2)'--Release
dispose IID#:dispose FORMATETC#:dispose Temp#
endproc'-------------------------------------------------------------
 
var Edit&=create("RichEdit",%hwnd,"Einfügen an Cursorposition bei Rechtsklick",0,0,width(%hwnd),height(%hwnd))
sendmessage(Edit&,~EM_SETOLECALLBACK,0,IFace&)'--Ab hier können auch Dokumente mit Bild geladen werden
 
while 1
 waitinput
 case %umessage=16:break
endwhile
 
destroywindow(Edit&)
dispose asm#
dispose VTable#
'--Eigendlich sollten hier noch die ProzedurAdressen freigegeben werden
Zitat:
"graue XProfan-Eminenz"


SeeYou
Pascal
Uwe 'Pascal' ist offline   Mit Zitat antworten
Alt 20.09.2010, 11:42   #4 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.877
Daumen hoch

Uwe "Pascal"
Großen Dank für die aktuelle Version ! - Das habe ich gebraucht
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Alt 20.09.2010, 16:38   #5 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

Unser OLE-Meister Pascal!
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 20.09.2010, 17:05   #6 (Direktlink)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
Standard

Ich denke Horst wollte ein BILD einsetzen. Da bietet im Moment Dieters PCU die beste Lösung. Uns Uwe 'Pascal' : Bitte noch ein Script für Bilder.

Gruß Thomas

THFR ist offline   Mit Zitat antworten
Alt 20.09.2010, 17:15   #7 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.877
Beitrag

Für mich ist "Pascals" Code der bessere. Ich will ja nicht in Wordpad oder Textmaker oder Ä. die Bilder einfügen. Das können diese Programme ja selbst. Ich will in ein XProfan-RICHEDIT Bilder einfügen und der Vorteil von "Pascals" Code ist der, daß das Bild an der Cursor-Position eingefügt wird und abgespeichert werden kann.
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Alt 20.09.2010, 18:53   #8 (Direktlink)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
Standard

@Horst, das ist mit Dieters RTF-pcu in einem XPrafan Rich-Edit erstellt und nur um den Unterschied zwischen BILD bzw. OLE zu zeigen, und, dass wenn es mit einem anderen Texteditor geöffnet wird, auch wie erstellt angezeigt wird.

Gruß Thomas
THFR ist offline   Mit Zitat antworten
Alt 23.09.2010, 10:28   #9 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.877
Beitrag

Habe mich jetzt in die PCU eingearbeitet. Ein Problem bleibt aber für mich (bin vielleicht auch zu blöd dafür):
Ein Briefkopf wird geladen - links oben das Übliche, Name, Adresse usw.
Jetzt soll rechts oben in gleicher Höhe ein Logo geladen werden und das klappt nicht. Entweder Adresse oder Logo oder eines der beiden weiter unten im Richedit.
Geht das nicht oder mache ich etwas falsch ? In meinem "Uralt"-Textmaker ist das kein Problem.
Als Beispiel hier eine Vorlage. Das ist aber ein JPG-Bild. So soll aber der Briefkopf aussehen mit Eingabe des Textes und rechts das Logo. Hoffe, ich habe mich verständlich ausgedrückt.

__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Alt 23.09.2010, 11:17   #10 (Direktlink)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
Standard

@Horst, bei einer MS RTF ist ein Objekt bzw. Bild immer an eine Zeile gebunden und die Zeilenhöhe entspricht dann der Bildhöhe.
Was du suchst ist eine Datei mit formatiertem Text und einem "Bild-Container", die aber dann, wenn sie mit einem RTF-Editor geöffnet und als *.rtf gespeichert, auch zerstört wird.
Das hatte ich hier dir einmal vorgestellt und das ist sicher das was du suchst.
Werde ein Beispiel erstellen. Kann bis zum Wochenende dauern.

Gruß Thomas
THFR ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 23.09.2010, 22:58   #11 (Direktlink)
Stammuser
 
Registriert seit: 04.04.2009
Ort: Lübeck
Beiträge: 264
Standard

@Horst, ich habe etwas mit der oFrame.dll zusammen gestellt.
Ein Problem habe ich noch mit dem oFrame-Objekt. Das bekomme ich einfach zum Ersetzen nicht gelöscht und so entstehen n..Objekte beim Einfügen.
Die Position des Objekts zu verändern ist natürlich auch über ein Dialogfenster (mit Skalierung) oder per Subproc möglich.

@Frank, kannst du zum Löschen eines Objekts einen Weg aufzeigen oder wie kann ein Objekt per Befehl neu positioniert und in der Größe verändert werden.
Code:
Set("ErrorLevel", 1)
$H Windows.ph


DEF SetWndSize(3) ~SetWindowPos(&(1),0,0,0,%(2),%(3),~SWP_NOMOVE | ~SWP_NOZORDER)
DEF Redraw(1) ~RedrawWindow(&(1),0,0,~RDW_FRAME | ~RDW_INVALIDATE | ~RDW_ALLCHILDREN | ~RDW_ERASE)



'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Def @Clienttoscreen(2) !"USER32","ClientToScreen"
Def @G2lx(0) @Long(C2sstrc#,0)
Def @G2ly(0) @Long(C2sstrc#,4)

Proc G2l
   Parameters Hdl&
   Clear C2sstrc#
   @Clienttoscreen(R_Edit&,C2sstrc#)
   x%=@G2lx()
   y%=@G2ly()
   Clear C2sstrc#
   @Clienttoscreen(Hdl&,C2sstrc#)
   L_Bildx%=@G2lx()-x%
   L_Bildy%=@G2ly()-y%
Endproc

Declare C2sstrc#
Dim C2sstrc#,8
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Def GetClientRect(2) !"USER32","GetClientRect"

Def OF_SetMoveRect(5) !"oframe","OF_SetMoveRect"
Def OF_SetSizeRect(5) !"oframe","OF_SetSizeRect"
Def OF_SetBitmap(4) !"oframe","OF_SetBitmap"
Def OF_SetText(4) !"oframe","OF_SetText"
Def OF_SetIcon(5) !"oframe","OF_SetIcon"
Def OF_SetStyle(6) !"oframe","OF_SetStyle"
Def OF_SetGdi(6) !"oframe","OF_SetGdi"

var owndll&=UseDll("OFrame.dll")
Declare rect#
Dim rect#,16

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Window 10,10 - 800,500
GetClientRect(%hwnd,rect#)

PopUp "&Datei"
    AppendMenu 100,"Laden"
    AppendMenu 101,"Speichern"
    Separator
    SubPopUp "Bild"
    AppendMenu 102,"Bild Laden"
    AppendMenu 103,"Bild Skalieren"
    AppendMenu 104,"Bild Löschen"
    EndSub

    Separator
    AppendMenu 109,"&Ende"

Declare Bmp1&,temp$,text$,x$,y$
Declare File$,bytes&,bereich#
declare x%,y%
Declare L_Bild%,L_Bx$,L_By$,L_BPix$
Declare Logo&[], L_BildH%, L_BildB%, Logo_text$

var LR_File$="Neu.rpl"

var L_Bild$=""
var L_Bildy%=20
var L_Bildx%=20
var Logo%=0

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var R_EDIT&=Create("RichEdit",%hWnd,"",100,40,400,200)
settext R_Edit&,"\n\nKlaus Wassermann\n\nAm Wasserturm 12\n23455 Wasserburg"

While 1
  WaitInput

  case (%key=2) OR MenuItem(109):BREAK
  case MenuItem(102): BILDWAHL

  If menuitem(101) '~~~~~~~~~~~~~~~~~~~~~~~~~~speichern
    File$=savefile$("Datei speichern",LR_File$)
    G2l Logo&[Logo%]

    if File$<>""
       call(&SaveRTF,R_Edit&,addr(File$))

        bytes&=@FileSize(file$)
        x%=bytes&

        If trim$(L_Bild$)<>""
         Translate$(L_Bild$,"\","\\")
         Bmp1&=Create("hSizedPic", -1, L_Bild$, (L_BildB%/100*L_Bild%), (L_BildH%/100*L_Bild%), 1)
         L_Bx$=right$(("000000"+Str$(%bmpx)),6)
         L_By$=right$(("000000"+Str$(%bmpy)),6)
         x$=right$(("000000"+Str$(L_Bildx%)),6)
         y$=right$(("000000"+Str$(L_Bildy%)),6)
         L_BPix$=right$(("0000000"+Str$(x%+72)),7) '39 by für Zeile Bildinformation

         Logo_text$=bild2txt(bmp1&,%bmpx,%bmpy)

         deleteobject bmp1&
         Else
         x$="000000"
         y$="000000"
         L_Bx$="000000"
         L_By$="000000"
         L_BPix$="0000000"
         Logo_text$=""
       EndIf

       Assign #2,file$
       Append #2
       print #2, "{\info{\vern6450}}"
       print #2, "{\info{\|Logo|"+x$+"|"+y$+"|"+L_Bx$+"|"+L_By$+"|"+L_BPix$+"}" ' Bildinformation
       print #2,Logo_text$
       Close #2
     endIf
     redraw (R_Edit&)
     setfocus(R_Edit&)

    ElseIf menuitem(100) '~~~~~~~~~~~~~~~~~~~~~~~~~~Laden
     L_Bild$=""
     case Logo%>0:ShowWindow(Logo&[Logo%],0)
     
     File$=LoadFile$("Datei öffnen","*.rpl")
     If len(file$)>0
       Translate$(File$,"\","\\")
       assign #1,File$
       reset #1
       ClearList
       x%=0
       whilenot eof(#1)
          input #1,temp$
          inc x%
          if Match$("info", temp$)<>""
            If substr$(temp$,2,"|")="Logo"

               L_Bildx%=val(substr$(temp$,3,"|"))
               L_Bildy%=val(substr$(temp$,4,"|"))
               L_BildB%=val(substr$(temp$,5,"|"))
               L_BildH%=val(substr$(temp$,6,"|"))

               x%=val(substr$(temp$,7,"|"))
               If L_BildB%>0
                  Dim Bereich#, FileSize(File$)+2
                  @BlockRead(File$, Bereich#, 0,FileSize(File$))
                  text$=@String$(Bereich#,x%)
                  Bmp1&=txt2bild(text$,L_BildB%,L_BildH%)
                  L_Bild$="Test.png"
                  SavePic L_Bild$,Bmp1&
                  Dispose bereich#
               EndIf
            EndiF
          endif
       wend
       close #1
       Rtf("LoadRTF",R_Edit&,file$)
       BILDLADEN
    EndIf

    ElseIf menuitem(104) '~~~~~~~~~~~~~~~~~~~~~~~~~~Bild Löschen
    ShowWindow(Logo&[Logo%],0)
    L_Bild$=""
    
  Endif

EndWhile

DestroyWindow(%hwnd)
DeleteObject Bmp1&
DeleteObject R_Edit&
FreeDll owndll&
Dispose C2sstrc#
Dispose rect#

end

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PROC BILDWAHL
  Set("Decimals",6)
  L_Bild$=LoadFile$("Ein Bild wählen - auf die Größe achten - und auf Öffnen klicken",\
    "alle Bilder|*.BMP;*.JPG;*.GIF;*.PNG")
  casenot L_Bild$="" : BILDLADEN
EndProc

PROC BILDLADEN
     case L_Bild$="" : Return
     case Logo%>0:ShowWindow(Logo&[Logo%],0)
     Bmp1&=Create("hPic",-1,L_Bild$)
     L_BildB%=%BmpX'
     L_BildH%= %BmpY'
     Set("Decimals",0)
     L_Bild%=100
     case L_BildB%>100: L_Bild%=10000/L_BildB%
     case L_BildH%>100: L_Bild%=10000/L_BildH%
     Bmp1&=Create("hSizedPic", -1, L_Bild$, (L_BildB%/100*L_Bild%), (L_BildH%/100*L_Bild%), 1)
     inc Logo%
     Logo&[Logo%]=Control("OFRAME", "", $40000001,L_Bildx%,L_Bildy%, %BmpX, %BmpY, R_Edit&, 0, %hInstance, $0)
     OF_SetBitmap(Logo&[Logo%],0,0,1)
     OF_SetBitmap(Logo&[Logo%],bmp1&,0,1)
     OF_SetSizeRect(Logo&[Logo%],%BmpX, %BmpY,%BmpX, %BmpY)
     OF_SetMoveRect(Logo&[Logo%],0,0,Long(rect#,8),Long(rect#,12))
     OF_SetStyle(Logo&[Logo%],1,0,0,0,0)
     ShowWindow(Logo&[Logo%],1)
     SetFocus(%hwnd)
ENDPROC


proc txt2bild 'von iF

    parameters s$,_width&,_height&
    s$=decode64(s$)
    var hPic&=create("hNewPic",_width&,_height&,0)
    var sz&=((_width&*32\8-1) | 3+1)*abs(_height&)
    declare mem#
    dim mem#,40
    long mem#,0=40,_width&,_height&,0,0,sz&
    byte mem#,12=1
    byte mem#,14=32
    external("gdi32.dll","SetDIBits",%hDC,hPic&,0,_height&,addr(s$),mem#,0)
    dispose mem#
    return hPic&

endproc

proc bild2txt ' von iF
    parameters h&,_width&,_height&
    var sz&=((_width&*32\8-1) | 3+1)*abs(_height&)
    declare mem#
    dim mem#,40
    long mem#,0=40,_width&,_height&,0,0,sz&
    byte mem#,12=1
    byte mem#,14=32
    declare pixels#
    dim pixels#,sz&

    ifnot external("gdi32.dll","GetDIBits",%hDC,h&,0,_height&,pixels#,mem#,0)
        dispose pixels#,mem#
        return 0
    endif

    var txt$=encode64(char$(pixels#,0,_width&*_height&*4-4))
    dispose pixels#,mem#
    return txt$
endproc
Gruß Thomas
THFR ist offline   Mit Zitat antworten
Alt 23.09.2010, 23:07   #12 (Direktlink)
Super-Moderator
 
Benutzerbild von Frabbing
 
Registriert seit: 05.02.2009
Ort: Westliches NRW
Alter: 44
Beiträge: 5.093
Standard

In der Größe verändert müsste doch gehen, indem du neue Größen-Grenzen setzt oder einfach mit SetWindowPos. Letzteres auch zum positionieren.
Control löschen mit DestroyWindow. Ganz normalweg.
__________________
Gruß, Frank


Webpage http://frabbing.bplaced.net
mit Freeware - Tools, Spiele und Grafiken.
Frabbing ist offline   Mit Zitat antworten
Alt 24.09.2010, 09:46   #13 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 13.02.2009
Beiträge: 19
Standard

Hi Leute!

@ Thomas: Bilder in RTF sind ja auch OLE-Objekte; ist nur eine Frage der beim Einfügen eingestellten Ansicht. Mein Code sollte BMPs als Bild anzeigen. Gleiches gilt übrigens auch für ins RTF-Dokument eingefügte RTF-Dateien; quasi Text im Text, allerdings nicht direkt zu bearbeiten, weil als Bild dargestellt.

@Horst: Was spricht dagegen, den ganzen Briefkopf als Bild einzufügen? Oder Text und Logo einzeln als Bild, mit Leerzeichen oder Tabs dazwischen? (Verschiedene Ausrichtungen in einer Zeile klappt leider nicht)
Oder lieber HTML?

SeeYou
Pascal
Uwe 'Pascal' ist offline   Mit Zitat antworten
Alt 24.09.2010, 10:00   #14 (Direktlink)
MoRoGeP-Träger 2011
 
Benutzerbild von horsthorn
 
Registriert seit: 06.02.2009
Ort: Heidelberg
Alter: 71
Beiträge: 1.877
Beitrag

@Pascal
Zitat:
@Horst: Was spricht dagegen, den ganzen Briefkopf als Bild einzufügen? Oder Text und Logo einzeln als Bild, mit Leerzeichen oder Tabs dazwischen? (Verschiedene Ausrichtungen in einer Zeile klappt leider nicht)
Oder lieber HTML?
An sich spricht nichts dagegen. Allerdings müsste ich dann für jeden neuen Kunden (Freund von mir hat eine kleine Schreinerei und will eben für Angebote und Rechnungen so einen Briefkopf haben) ein neues Bild erstellen.
Im Moment habe ich das ganze mit XProfan gelöst. Hier wird das Logo über HPIC... an den gewünschten Platz gestellt. Auch die Druckroutine habe ich selbst mit "Usefont...." erstellt. Die Kundendaten werden aus einer kleinen CSV-Datei eingelesen und das klappt ja auch alles. Selbst Rechnungen werden vom Programm erstellt inclusive Mehrwertsteuer usw... Was mich reizt, ist die Formatierung in einer RTF-Datei. Na ja, man kann nicht alles haben.
__________________
Gruss, horst
Computer werden kleiner und kleiner, bald verschwinden sie völlig.
(Ephraim Kishon 1924-2005)

Win7-Home-Premium 32-Bit - XProfan12.0ß-S14 - Chrome-18.0.1025.142 m
http://www.web-treffpunkt.de
horsthorn ist gerade online   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > XProfan > Helfer & Tools

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bild in document.write einbinden Unregistriert Homepagegestaltung 2 20.05.2010 18:51
Avi-Datei in Webseite einbinden dass das Video 1x abspielt Verena123 Homepagegestaltung 0 11.12.2007 20:05
Html datei in Php einbinden Webmaster Leo PHP/MySQL 2 27.05.2007 08:24
SWF Datei einbinden Sergey PHP/MySQL 2 25.10.2006 13:59
Eigenes Start-Bild erzeugen/einbinden Gast 1919 Windows 95/98/ME/2000/NT 1 14.12.2005 15:04



Alle Zeitangaben in WEZ +2. Es ist jetzt 16:45 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2