News:

Download Pelles C here: http://www.smorgasbordet.com/pellesc/

Main Menu

Rich Edit sample

Started by Vortex, November 02, 2025, 10:14:04 AM

Previous topic - Next topic

Vortex

Inspired by Timo's work, here is the Rich Edit sample converted to Poasm :

https://forum.pellesc.de/index.php?msg=41554

include DlgBox.inc

.code

start:

    mov     eax,RichEditANSIWndProc
    invoke  GetModuleHandle,0
    invoke  DialogBoxParam,eax,DLG_MAIN,0,ADDR DlgProc,0
    invoke  ExitProcess,eax

DlgProc PROC hWnd:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD

    .IF uMsg==WM_CLOSE

        invoke  EndDialog,hWnd,0

    .ELSE

        xor     eax,eax
        ret

    .ENDIF

    mov     eax,1
    ret

DlgProc ENDP

END start

Code it... That's all...

Vortex

Same example built with binary resource template :

include DlgBox.inc

.data

DialogBox:

INCBIN "MyDlg.bin"

.code

start:

    mov     eax,RichEditANSIWndProc
    invoke  GetModuleHandle,0

    xor     ecx,ecx
    invoke  DialogBoxIndirectParam,eax,\
            ADDR DialogBox,ecx,ADDR DlgProc,ecx

    invoke  ExitProcess,eax

DlgProc PROC hWnd:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD

    .IF uMsg==WM_CLOSE

        invoke  EndDialog,hWnd,0

    .ELSE

        xor     eax,eax
        ret

    .ENDIF

    mov     eax,1
    ret

DlgProc ENDP

END start
Code it... That's all...

Vortex

Here is the 64-bit version :

include DlgBox.inc

.data

Dlgbox db 'MyDlg',0

.code

start PROC PARMAREA=5*SIZEOF QWORD

LOCAL hModule:QWORD

    mov     rax,RichEditANSIWndProc
    invoke  GetModuleHandle,0
    mov     hModule,rax
    invoke  DialogBoxParam,hModule,ADDR Dlgbox,0,ADDR DlgProc,0
    invoke  ExitProcess,rax

start ENDP

DlgProc PROC hWnd:QWORD,uMsg:QWORD,wParam:QWORD,lParam:QWORD PARMAREA=4*SIZEOF QWORD

    .IF uMsg==WM_CLOSE

        invoke  EndDialog,hWnd,0

    .ELSE

        xor    rax,rax
        ret

    .ENDIF

    mov    eax,1
    ret

DlgProc ENDP

END start
Code it... That's all...

TimoVJL

Useful for users, who needs template for dialog app with richedit control.
May the source be with you