flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Tomasz Grysztar
The FEDIT.DLL source is in the FASM.DLL package. This is simply a wrapper for the FEDIT control that comes with a standard FASMW package, so you just put FEDIT.ASM in the same directory as FASMW sources and it can be assembled then.
As for the examples, the example that comes with FASM.DLL does not use any syntax highlighting. But you could extract the syntax highlighting function from FASMW.ASM - I have done that and created the attached example.
|
|||||||||||
![]() |
|
Roman
Cool ! Big thanks !
|
|||
![]() |
|
Roman
Problem with change fonts. When i am set Broadway font in fasm edit window
chars draw not full and cursor bug with offset next char. And how change font size ? And how using FEM_SETRIGHTCLICKMENU ? Please explain in example. |
|||
![]() |
|
Tomasz Grysztar
Roman wrote: Problem with change fonts. When i am set Broadway font in fasm edit window Roman wrote: And how change font size ? Roman wrote: And how using FEM_SETRIGHTCLICKMENU ? Please explain in example. |
|||
![]() |
|
Roman
About:
FEM_SETPOS mean set text line ? If i have 100 text lines. And i want set carret to 80 line. FEM_GETPOS FEM_FINDFIRST FEM_FINDNEXT FEM_GETSEARCHTEXT its mean in my buffer copy find text ? I right understood ?: Code: .data pString db 'Find word',0 .code invoke SendMessage,[hwnd],FEM_FINDFIRST,0,pString ;whatch in eax return ? invoke SendMessage,[hwnd],FEM_SETPOS,0,80 ;this crash |
|||
![]() |
|
Tomasz Grysztar
FEM_GETPOS/FEM_SETPOS expect FEPOS structure passed through pointer in wparam:
Code: struct FEPOS selectionPosition dd ? selectionLine dd ? caretPosition dd ? caretLine dd ? ends As for FEM_FINDFIRST/FEM_FINDNEXT, they return boolean value, telling whether text has been found or not. The selection and caret are automatically moved to the boundaries of found text. |
|||
![]() |
|
Roman
Problem. FEDIT window back on main window.
And I must press Alt+Tab to see FEDIT window. When I click on main window FEDIT disappears and I must again press Alt+Tab to see FEDIT window. How fix this ? "Edit" window work fine and not disappears Code: invoke CreateWindowEx,WS_EX_LAYERED,_fedit,_title,\ WS_VISIBLE+WS_POPUP+WS_VSCROLL+WS_HSCROLL+ FES_CONSOLECARET+FES_AUTOINDENT+FES_OPTIMALFILL+FES_TIMESCROLL, \ 128,128,512,512,NULL,NULL,[wc.hInstance],NULL Last edited by Roman on 22 Feb 2019, 05:19; edited 1 time in total |
|||
![]() |
|
Roman
I fix.
WS_EX_LAYERED+WS_EX_TOPMOST Now work fine. |
|||
![]() |
|
Tomasz Grysztar
Unless you do something unusual, you should create FEDIT as a child of your main window:
Code: invoke CreateWindowEx,WS_EX_LAYERED,_fedit,_title,WS_CHILD+\ WS_VISIBLE+WS_POPUP+WS_VSCROLL+WS_HSCROLL+ FES_CONSOLECARET+FES_AUTOINDENT+FES_OPTIMALFILL+FES_TIMESCROLL, \ 128,128,512,512,[main_hwnd],NULL,[wc.hInstance],NULL |
|||
![]() |
|
Roman
How get selected text from FEDIT ?
I know WM_COPY. Is exist another way get selected text ? And how work invoke SendMessage,[hwnd_fedit],FEM_GETWORDATCARET,2,TextBuffer ? |
|||
![]() |
|
Tomasz Grysztar
Yes, to get the selected text exactly, WM_COPY is the only way. Alternatively you can use FEM_GETPOS to find the line numbers and then FEM_GETLINELENGTH/FEM_GETLINE to get contents of individual lines.
For FEM_GETWORDATCARET wparam is the length of the buffer and lparam points to the buffer. The buffer is filled with a single word that the cursor is currently at (for example F1 key in fasmw uses this function). |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2019, Tomasz Grysztar.
Powered by rwasa.