Español
Eingangshalle

Fernsteuern / Texto kopieren verhindern

 
- Página 1 -



Walter
¡Hola!
Posesiones folgendes Problema:
Yo möchte verhindern, dass en una Eingabefeld Texto hineinkopiert voluntad kann.
Lösche dazu en mi Programa el Zwischenablage mittels clearclip, sobald el Eingabefeld el Focus erhält. Das funktioniert.
Doch scheint lo trotzdem posible a ser, encima una más Programa una Texto (mittels DDE? ) en dieses Feld einzufügen.
Ist el posible?
¿Cómo se puede Yo el verhindern?
 
14.03.2020  
 



« Dieser Contribución wurde como Solución gekennzeichnet. »


Matthias
Arlt
Andere Möglichkeit: Editar subclassen y WM_PASTE abfangen
proc EditSubclass

    parámetros edit&, Msg&, wParam&, lParam&
    set("FastMode",1)

    if Msg& = 770''WM_PASTE

        volver

    endif

    volver external("USER32","CallWindowProcA",owp&,edit&, Msg&, WParam&, LParam&)
    set("FastMode",0)

ENDPROC

declarar owp&,edit&
cls
edit& = create("MultiEdit",%hwnd,"",100,30,200,100)
owp&=external("USER32","SetWindowLongA",edit&,-4, ProcAddr(EditSubclass,4))

mientras que 1

    waitinput

wend


Saludo Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
15.03.2020  
 




p.specht

Verstehe Yo Usted correcto: Texto sino que debe weiterhin eingegeben voluntad puede. Oder?

Mir fällt momentan sólo el alte de BASIC abgeleitete Befehl Entrada una

cls:declarar x$:imprimir " Texto: ";
Entrada x$
imprimir x$:waitinput:end

una. In XProfan-11.2a puede ser como nix de el Zwischenablage reintun. Klappt simplemente no!
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
14.03.2020  
 




Walter
Sí, una Texto se eingegeben voluntad puede.
Lo va esta en una multiedit, en el auch una längerer Texto eingetragen voluntad kann. Aunque se nichts hineinkopiert voluntad puede.
El Zwischenablage Por consiguiente, blockiert.
Jetzt tener Yo gesehen, lo son z.B. una "Clipboardmaster"  [...]  el Textos offenbar selbständig (sin la Zwischenablage) en Felder uno otro Programms transportiert.
Könnte encima DDE laufen (se hier en efecto como Möglichkeit para Fernsteuern beschrieben) - doch mein Programa se se eben gegen "Fernsteuern" / Texto hineinkopieren wehren puede.
Also Anti-DDE, sozusagen...
 
14.03.2020  
 




Matthias
Arlt
Andere Möglichkeit: Editar subclassen y WM_PASTE abfangen
proc EditSubclass

    parámetros edit&, Msg&, wParam&, lParam&
    set("FastMode",1)

    if Msg& = 770''WM_PASTE

        volver

    endif

    volver external("USER32","CallWindowProcA",owp&,edit&, Msg&, WParam&, LParam&)
    set("FastMode",0)

ENDPROC

declarar owp&,edit&
cls
edit& = create("MultiEdit",%hwnd,"",100,30,200,100)
owp&=external("USER32","SetWindowLongA",edit&,-4, ProcAddr(EditSubclass,4))

mientras que 1

    waitinput

wend


Saludo Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
15.03.2020  
 




Walter
Von Subclassing tener Yo bisher desafortunadamente ni idea.
Nehme lo aber igual como Anlass, mich así a beschäftigen.
Probiere Yo heute todavía de!
Gracias!
 
15.03.2020  
 




Walter
Funktioniert bestens!
Herzlichen Dank!

Jetzt muss Yo sólo todavía verstehen...
 
15.03.2020  
 




Matthias
Arlt
Es eigentlich bastante simplemente. Beim Einfügen erhält Edit-Control el Message WM_PASTE y el Ventana-Procedimiento des Editar-Controls reagiert entonces entsprechend darauf. Dies se en el konkreten Fall verhindert voluntad. Also tauschen wir el originale Ventana-Procedimiento des Editar-Controls bastante simplemente de, dejar hay el Message WM_PASTE quasi unbehandelt. Für todos otro Editar-Messages greift entonces otra vez el originale Ventana-Procedimiento...

Saludo Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
15.03.2020  
 




Walter
Gracias!
 
15.03.2020  
 




E.T.

proc EditSubclass

    parámetros edit&, Msg&, wParam&, lParam&
    set("FastMode",1)

    if Msg& = 770''WM_PASTE

        volver

    endif

    volver external("USER32","CallWindowProcA",owp&,edit&, Msg&, WParam&, LParam&)
    set("FastMode",0)

ENDPROC


In dieser Procedimiento se pero la "FastMode" nie otra vez abgeschaltet, como sí selbige siempre antes set("FastMode",0)  con volver  verlassen se
 
XProfan X3
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
15.03.2020  
 




Matthias
Arlt
Stimmt...el set("FastMode",0)  es a dieser Punto wirkungslos y entbehrlich. Wichtig es sí sólo, daß set("FastMode",1)  erforderlich es, qué wiederum [antes el SubClassing] auch a otro Punto en el Programa gesetzt voluntad kann...y ggf. auch debería

Saludo Matthias
 
WinXP SP2, Win7 - XProfan 10/11/FreeProfan32 - Xpia
15.03.2020  
 




Walter
Desde que en el Windows Api-Aufrufen nada durchblicke, Yo inzwischen de el Ayuda una weitere Versión mittels subclass, subclassproc y Conjunto("WinProc", 0) zustande gebracht, el ebenfalls funktioniert:
SubClassProc

    if %sMessage = $0302' WM_PASTE

        Conjunto("WinProc", 0)' Windows se esta Message no más beachten

    endif

ENDPROC

declarar me%
cls
me%=Crear("MultiEdit",%Hwnd,"",10,50,280,-100)
SubClass me%, 1

mientras que 1

    waitinput

wend

SubClass me%, 0
end

Lt. Ayuda se el SubClassProc defaultmäßig en el FastMode aufgerufen, weswegen hier set("Fastmode",1) entfallen podría.

Gracias nochmals a Matthias para el Referencia, dass el problema mittels Subclassing a lösen es!
 
16.03.2020  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

8.418 Views

Untitledvor 0 min.
mene29.05.2024
p.specht04.06.2021
N.Art18.11.2020
iF27.09.2020
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Eingangshalle  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie