<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Composants VCL</title>
		<link>https://www.developpez.net/forums/</link>
		<description>Utilisation des différents composants VCL (Visual Component Library)</description>
		<language>fr</language>
		<lastBuildDate>Sat, 24 Oct 2026 07:46:56 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Composants VCL</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title><![CDATA[Comment activer la propriété KeyPreview d'un TForm dont je n'ai que le handle ?]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185873&amp;goto=newpost</link>
			<pubDate>Mon, 28 Sep 2026 00:09:58 GMT</pubDate>
			<description>Bonjour, 
 
Je suis sous W11...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
J'ai créé un contrôle dérive de TScrollBox dans lequel j'ai placé un TImage. Le tout est créé dynamiquement, par programme.<br />
Ca marche très bien.<br />
<br />
Mais maintenant, je veux récupérer les touches directionnelles (avec/sans SHIFT) frappées sur ce TImage (qui remplit tout l'espace de la ScrollBox.<br />
Je récupère le clic sans problème, mais j'ai compris qu'il n'y a pas de OnKeyDown event pour un TImage car ce dernier ne descend pas de TWinControl.<br />
<br />
Alors, j'ai essayé d'intercepter OnKeyDown sur la ScrollBox. Rien n'est intercepté pour les touches du clavier, seul le clic gauche déclenche cet évènement.<br />
<br />
Alors, j'ai vu qu'il y a une propriété KeyPreview pour la Form qui contient ma ScrollBox. <br />
Or, pour accéder la Form, je ne connais que son handle, je n'ai pas accès à l'objet proprement-dit.<br />
<br />
Question: comment activer KeyPreview sur une TForm par son handle ?<br />
<br />
Question subsidiaire:<br />
serait-ce possible d'intercepter un message Windows indiquant la frappe d'une des touches directionnelles, éventuellement avec les attributs TShiftState ?<br />
<br />
L'ensemble du code (création et gestion de la TScrollBox et du TImage) est placé dans une DLL, ainsi que devra l'être le code d'interception des touches.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185873/environnements-developpement/delphi/composants-vcl/activer-propriete-keypreview-d-tform-dont-n-ai-handle/</guid>
		</item>
		<item>
			<title><![CDATA[Comment récupérer l'image standard d'un TButton ? (ou autre composant)]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185582&amp;goto=newpost</link>
			<pubDate>Thu, 10 Sep 2026 10:12:14 GMT</pubDate>
			<description>Bonjour, 
Je suis sous W11...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
Je suis en train de développer un composant visuel entièrement codé par moi, sans utilisation d'autres composant qu'un dérivé de TScrollBox avec un TImage à l'intérieur.<br />
Tout est alors dessiné sur ce TImage dans un évènement Ondraw.<br />
<br />
Je suis déjà allé assez loin en implémentant un mini-Excel avec entre autres des formules de calcul pour des cellules, en gérant les dépendances et recalcul automatique si une cellule utilisée dans une formule quelconque est modifiée. Tout cela fonctionne bien, avec plein d'options graphiques, formats d'affichage etc.<br />
<br />
Maintenant, je souhaite afficher un TButton dans mon graphisme, mais SANS utiliser un TButton réel ! Je voudrais afficher l'image standard d'un TButton et réagir programmatiquement lors d'un click sur cette image. Je sais qu'il y a un moyen de récupérer des bitmaps représentant les contrôles visuels, dont le TButton, et de les afficher comme simple graphisme, sans création de boutons, mais je n'arrive plus à mettre la main sur ça. De mémoire, ça doit être une API, non ?<br />
<br />
Je serais très heureux si vous pouviez me mettre sur la voie.<br />
Merci d'avance !</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185582/environnements-developpement/delphi/composants-vcl/recuperer-l-image-standard-d-tbutton-composant/</guid>
		</item>
		<item>
			<title>Delphi 10.2 et DWS</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2185520&amp;goto=newpost</link>
			<pubDate>Mon, 07 Sep 2026 21:01:18 GMT</pubDate>
			<description>Quelle version de...</description>
			<content:encoded><![CDATA[<div>Quelle version de <a rel="nofollow" href="https://www.delphitools.info/dwscript/" target="_blank">https://www.delphitools.info/dwscript/</a> peut encore s’installer avec mon Delphi 10.2.3 ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>der§en</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2185520/environnements-developpement/delphi/composants-vcl/delphi-10-2-dws/</guid>
		</item>
		<item>
			<title>probleme avec compo JVCL</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2184978&amp;goto=newpost</link>
			<pubDate>Tue, 04 Aug 2026 07:08:51 GMT</pubDate>
			<description><![CDATA[Bonjour, 
 
Lorsque l'on...]]></description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Lorsque l'on applique un style sur une fenetre, il faut ensuite utiliser le parametre StyleElements = [seBorder] <br />
si on veut modififer le visuel de certain composant (couleur sur un Tedit par exemple)<br />
<br />
C'est bien expliqué ici: <br />

<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/dGoKWYEHkAo?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
<br />
<br />
Par contre ceci ne fonctionne pas avec les composants de la JVCL ?<br />
Est ce qu' il y a une astuce ?<br />
<br />
je suis sur Delphi 12.3 + JVCL3.50<br />
<br />
<br />
Cordialement</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>looping</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2184978/environnements-developpement/delphi/composants-vcl/probleme-compo-jvcl/</guid>
		</item>
		<item>
			<title>Problème pour installer GLScene</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182957&amp;goto=newpost</link>
			<pubDate>Tue, 31 Mar 2026 15:00:43 GMT</pubDate>
			<description><![CDATA[Bonjour. 
J'ai réinstaller...]]></description>
			<content:encoded><![CDATA[<div>Bonjour.<br />
J'ai réinstaller Windows XP et Delphi 6 (pas le choix).<br />
<br />
Pour finir et utiliser un programme de digitalisation de films Super 8, je doit réinstaller GLSCene --&gt; GLAVIRecorder.<br />
J'ai tous les sources, à priori pas de problème. Mais ça plante au moment de l'installation/Compilation des composants avec le message suivant :<br />
<br />
<b> Erreur  : [Erreur fatale] GLScene.pas(1): Le programme ou l'unité 'GLScene.pas' s'utilise récursivement lui-même</b><br />
<br />
Après recherche j'ai ouvert le fichier <b>Glscene.inc</b><br />
<br />
Je suppose que cela s'applique à des options de compilation selon l'EDI utilisé.<br />
<br />
<br />
Qu'elle est celle qui s'applique à DELPHI 6 ?<br />
<br />
<br />
Si quelqu'un peut m'aider merci.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="40"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br />199<br />200<br />201<br />202<br />203<br />204<br />205<br />206<br />207<br />208<br />209<br />210<br />211<br />212<br />213<br />214<br />215<br />216<br />217<br />218<br />219<br />220<br />221<br />222<br />223<br />224<br />225<br />226<br />227<br />228<br />229<br />230<br />231<br />232<br />233<br />234<br />235<br />236<br />237<br />238<br />239<br />240<br />241<br />242<br />243<br />244<br />245<br />246<br />247<br />248<br />249<br />250<br />251<br />252<br />253<br />254<br />255<br />256<br />257<br />258<br />259<br />260<br />261<br />262<br />263<br />264<br />265<br />266<br />267<br />268<br />269<br />270<br />271<br />272<br />273<br />274<br />275<br />276<br />277<br />278<br />279<br />280<br />281<br />282<br />283<br />284<br />285<br />286<br />287<br />288<br />289<br />290<br />291<br />292<br />293<br />294<br />295<br />296<br />297<br />298<br />299<br />300<br />301<br />302<br />303<br />304<br />305<br />306<br />307<br />308<br />309<br />310<br />311<br />312<br />313<br />314<br />315<br />316<br />317<br />318<br />319<br />320<br />321<br />322<br />323<br />324<br />325<br />326<br />327<br />328<br />329<br />330<br />331<br />332<br />333<br />334<br />335<br />336<br />337<br />338<br />339<br />340<br />341<br />342<br />343<br />344<br />345<br />346<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
based <span style="color: #0000ff;">on</span> Delphi Free Stuff Include <span style="color: #0000ff;">File</span>
<span style="color: #808080;">//                  by Brad Stowers: bstowers@pobox.com</span>
<span style="color: #808080;">//                  Delphi Free Stuff: http://www.delphifreestuff.com/</span>
<span style="color: #808080;">//</span>
<span style="color: #808080;">// 08/03/06 - ur - added Delphi 2006 detection</span>
<span style="color: #808080;">// 08/07/04 - LR - BCB5 and BCB6 detection</span>
<span style="color: #808080;">// 30/08/02 - EG - Delphi 7 detection</span>
<span style="color: #808080;">// 24/01/02 - EG - Linux/Kylix changes (Puthoon)</span>
<span style="color: #808080;">// 28/12/01 - EG - Added GLS_Graphics32_SUPPORT</span>
<span style="color: #808080;">// 27/07/01 - EG - Renamed and made GLScene-specific</span>
<span style="color: #808080;">// 26/06/01 - EG - Added Delphi6 stuff</span>
<span style="color: #808080;">//</span>
&nbsp;
<span style="color: #808080;">{$DEFINE GLSCENE}</span>
&nbsp;
<span style="color: #808080;">//</span>
<span style="color: #808080;">// Additionnal support &amp; dependencies</span>
<span style="color: #808080;">//</span>
&nbsp;
<span style="color: #808080;">// Activate support for Alex Denissov's Graphics32 library (http://www.g32.org)</span>
<span style="color: #808080;">{.$DEFINE GLS_Graphics32_SUPPORT}</span>
&nbsp;
<span style="color: #808080;">// De-Activate assembly routine</span>
<span style="color: #808080;">{.$DEFINE GEOMETRY_NO_ASM}</span>
&nbsp;
<span style="color: #808080;">//</span>
<span style="color: #808080;">// Platform Detection</span>
<span style="color: #808080;">//</span>
&nbsp;
<span style="color: #808080;">{$IFDEF WIN32}</span>
  <span style="color: #808080;">{$DEFINE GLS_WIN32}</span>
  <span style="color: #808080;">{$DEFINE MSWINDOWS}</span>
<span style="color: #808080;">{$ELSE}</span>
  <span style="color: #808080;">{$IFNDEF LINUX}</span>
    <span style="color: #808080;">{$DEFINE GLS_WIN16}</span>
    <span style="color: #808080;">{$DEFINE MSWINDOWS}</span>
  <span style="color: #808080;">{$ENDIF LINUX}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF MSWINDOWS}</span>
  <span style="color: #808080;">{$DEFINE GLS_VCL}</span>
<span style="color: #808080;">{$ELSE}</span>
  <span style="color: #808080;">{$DEFINE GLS_CLX}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF LINUX}</span>
  <span style="color: #808080;">{$DEFINE GEOMETRY_NO_ASM}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF FPC}</span>
  <span style="color: #808080;">{$DEFINE GEOMETRY_NO_ASM}</span>
  <span style="color: #808080;">{$TYPEINFO ON}</span>
  <span style="color: #808080;">{$INLINE ON}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF CLR}</span>
  <span style="color: #808080;">{$DEFINE GEOMETRY_NO_ASM}</span>
  <span style="color: #808080;">{$UNSAFECODE ON}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER180}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_10}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_10}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER170}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_9}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_9}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER160}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_8}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_8}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER150}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7}</span>
  <span style="color: #808080;">{$WARN UNSAFE_TYPE OFF}</span>
  <span style="color: #808080;">{$WARN UNSAFE_CODE OFF}</span>
  <span style="color: #808080;">{$WARN UNSAFE_CAST OFF}</span>
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$ifdef VER140}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6}</span>
  <span style="color: #808080;">{$IFDEF BCB}</span>
    <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
    <span style="color: #808080;">{$DEFINE GLS_CPPB_6}</span>
  <span style="color: #808080;">{$ELSE}</span>      
    <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
  <span style="color: #808080;">{$ENDIF}</span>
<span style="color: #808080;">{$endif}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER130}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5}</span> 
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5}</span>
  <span style="color: #808080;">{$IFDEF BCB}</span>
    <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
    <span style="color: #808080;">{$DEFINE GLS_CPPB_5}</span>
  <span style="color: #808080;">{$ELSE}</span>      
    <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>       
  <span style="color: #808080;">{$ENDIF}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER125}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_4}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER120}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER110}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER100}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER93}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2}</span>  <span style="color: #808080;">{ C++B v1 compiler is really v2 }</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_1}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER90}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF VER80}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_1}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFNDEF GLS_CPPB}</span>
  <span style="color: #808080;">{$IFNDEF GLS_DELPHI}</span>
    <span style="color: #808080;">{ Don't know what the hell it is.  Could be new version, or could be old BP. }</span>
    <span style="color: #808080;">{$DEFINE GLS_UNKNOWN_COMPILER}</span>
  <span style="color: #808080;">{$ENDIF}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_1}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_2}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_5}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_6}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_7}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_8}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_8_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_9}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_8_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_9_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_10}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_1_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_8_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_9_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_COMPILER_10_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_2}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_5}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_6}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_7}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_8}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_8_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_9}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_8_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_9_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_DELPHI_10}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_2_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_5_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_6_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_7_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_8_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_9_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_DELPHI_10_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_3}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_4}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_4_UP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_5}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_5_UP}</span>  
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_6}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_4_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_CPPB_5_UP}</span>  
  <span style="color: #808080;">{$DEFINE GLS_CPPB_6_UP}</span> 
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_COMPILER_3_UP}</span>
  <span style="color: #808080;">{$DEFINE GLS_NO_COM_CLEANUP}</span>
<span style="color: #808080;">{$ENDIF}</span>
&nbsp;
<span style="color: #808080;">{$IFDEF GLS_CPPB_3_UP}</span>
  <span style="color: #808080;">// C++Builder requires this if you use Delphi components in run-time packages.</span>
  <span style="color: #808080;">{$ObjExportAll On}</span>
<span style="color: #808080;">{$ENDIF}</span></pre></td></tr></table></code><hr />
</div></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>varilux56</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182957/environnements-developpement/delphi/composants-vcl/probleme-installer-glscene/</guid>
		</item>
		<item>
			<title>Dossier caché est ignoré par TOpenDialog.InitialDir</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182393&amp;goto=newpost</link>
			<pubDate>Mon, 02 Mar 2026 06:22:35 GMT</pubDate>
			<description>Bonjour à tous, 
 
J’ai un...</description>
			<content:encoded><![CDATA[<div>Bonjour à tous,<br />
<br />
J’ai un comportement étrange : lorsque je définis TOpenDialog.InitialDir sur un dossier caché (par exemple AppData\Roaming), la boîte de dialogue ne s’ouvre pas dans ce dossier et revient systématiquement ailleurs (souvent le dernier dossier utilisé).<br />
<br />
Le dossier existe bien et DirectoryExists renvoie True, mais InitialDir semble être ignoré dès qu’il s’agit d’un répertoire caché.<br />
<br />
Lorsque je saisis manuellement le chemin dans la zone Fichier du TOpenDialog et que je valide, j'ouvre bien le dossier caché. <br />
En revanche, lorsque je définis ce même chemin dans InitialDir, le dialogue l’ignore complètement.&#8239;<br />
<br />
<img src="https://www.developpez.net/forums/attachments/p674655d1772433487/environnements-developpement/delphi/composants-vcl/dossier-cache-ignore-topendialog-initialdir/capture-d-ecran-2026-03-02-073744.png/" border="0" alt="Nom : Capture d'écran 2026-03-02 073744.png
Affichages : 93
Taille : 84,7 Ko"  style="float: CONFIG" /><br />
<br />
Savez&#8209;vous pourquoi Delphi/Windows ignore un dossier caché dans TOpenDialog.InitialDir et comment forcer l’ouverture dans ce dossier ?<br />
<br />
Merci d’avance pour vos éclaircissements. ;)</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p674655d1772433487/environnements-developpement/delphi/composants-vcl/dossier-cache-ignore-topendialog-initialdir/capture-d-ecran-2026-03-02-073744.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>XeGregory</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182393/environnements-developpement/delphi/composants-vcl/dossier-cache-ignore-topendialog-initialdir/</guid>
		</item>
		<item>
			<title>Comment créer les composants de TWebView4Delphi programmatiquement ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182392&amp;goto=newpost</link>
			<pubDate>Mon, 02 Mar 2026 00:25:36 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition, service packs 1 à 3 installés<br />
<br />
Je viens d'apprendre à créer et utiliser (petitement...) WebView4Delphi dans un programme D6.<br />
J'arrive à naviguer, et j'arrive à afficher un fichier SVG et à déplacer la ViewBox à volonté.<br />
<br />
Tout cela fonctionne bien si je place les composants dans ma fiche dans l'EDI, puis je les utilise dans mon code Delphi.<br />
<br />
Maintenant, je veux créer ces composants dynamiquement, et je veux faire cela dans une DLL de service.<br />
Et ça ne marche pas - rien ne s'affiche.<br />
<br />
J'ai joint un fichier ZIP qui contient 3 projets, complets avec codes source, exécutables et fichiers de données:<br />
<div style="margin-left:40px">1. le projet opérationnel avec les composants posés directement dans une fiche à partir de l'EDI : projet <b>FirstTest</b><br />
2. le projet définissant la DLL de service, avec juste 1 seule fonction CreerWebView : projet <b>WebView4Delphi</b><br />
3. le projet contenant un programme Delphi appelant la fonction CreerWebView de la DLL : projet <b>Test_Avec_DLL</b></div><br />
C'est ce dernier (3) qui n'affiche rien, et je ne comprends pas. Voici le code de la dll WebView4Delphi:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br /></div></td><td valign="top"><pre style="margin: 0">library WebView4Delphi;
&nbsp;
<span style="color: #808080;">{</span>
<span style="color: #808080;">&nbsp; WebView4Delphi</span>
<span style="color: #808080;">}</span>
&nbsp;
<span style="color: #0000ff;">uses</span>
  SysUtils,Classes, Forms, Windows, Dialogs, Controls,
&nbsp;
  uWVBrowserBase, uWVBrowser, uWVWinControl, uWVWindowParent,
  uWVTypes, uWVConstants, uWVTypeLibrary,
  uWVLibFunctions, uWVLoader, uWVInterfaces, uWVCoreWebView2Args;
&nbsp;
<span style="color: #0000ff;">type</span>
  TDummy = <span style="color: #0000ff;">class</span>
    <span style="color: #0000ff;">private</span>
    <span style="color: #0000ff;">published</span>
      <span style="color: #0000ff;">class</span> <span style="color: #0000ff;">procedure</span> AfterCreated<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">var</span>
  WVWindowParent1: TWVWindowParent;
  WVBrowser1: TWVBrowser;
&nbsp;
&nbsp;
<span style="color: #808080;">{$R *.res}</span>
&nbsp;
&nbsp;
<span style="color: #0000ff;">function</span> CreateWebView<span class="br0">&#40;</span>aDest: HWND<span class="br0">&#41;</span>: <span style="color: #0080ff;">integer</span>; <span style="color: #0000ff;">stdcall</span>; export;
<span style="color: #0000ff;">begin</span>
  result := <span style="color: #cc66cc;">0</span>;
  <span style="color: #0000ff;">try</span>
    <span style="color: #0000ff;">if</span> assigned<span class="br0">&#40;</span>WVWindowParent1<span class="br0">&#41;</span> <span style="color: #0000ff;">then</span> exit;
    <span style="color: #0000ff;">if</span> assigned<span class="br0">&#40;</span>WVBrowser1<span class="br0">&#41;</span> <span style="color: #0000ff;">then</span> exit;
&nbsp;
    <span style="color: #808080;">// J'essaie de simuler ce qui se passe lors de la cr&eacute;ation d'une form contenant ces objets</span>
    WVWindowParent1 := TWVWindowParent.CreateParented<span class="br0">&#40;</span>aDest<span class="br0">&#41;</span>;
    WVWindowParent1.ParentWindow := aDest;
    WVWindowParent1.Left := <span style="color: #cc66cc;">10</span>;
    WVWindowParent1.Top := <span style="color: #cc66cc;">50</span>;
    WVWindowParent1.Width := <span style="color: #cc66cc;">1000</span>;
    WVWindowParent1.Height := <span style="color: #cc66cc;">500</span>;
    WVBrowser1 := TWVBrowser.Create<span class="br0">&#40;</span>WVWindowParent1<span class="br0">&#41;</span>;
    WVBrowser1.DefaultURL := <span style="color: #FF0000;">'https://google.fr'</span>;
    WVBrowser1.OnAfterCreated := TDummy.AfterCreated;
    WVWindowParent1.Browser := WVBrowser1;
&nbsp;
    <span style="color: #0000ff;">if</span> GlobalWebView2Loader.InitializationError <span style="color: #0000ff;">then</span>
      showmessage<span class="br0">&#40;</span>GlobalWebView2Loader.ErrorMessage<span class="br0">&#41;</span>
     <span style="color: #0000ff;">else</span>
      <span style="color: #0000ff;">if</span> GlobalWebView2Loader.Initialized <span style="color: #0000ff;">then</span>
        WVBrowser1.CreateBrowser<span class="br0">&#40;</span>WVWindowParent1.Handle<span class="br0">&#41;</span>;
&nbsp;
    result := <span style="color: #0080ff;">integer</span><span class="br0">&#40;</span>WVWindowParent1<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">except</span>
    showmessage<span class="br0">&#40;</span><span style="color: #FF0000;">'Error in CreateWebView'</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;
exports CreateWebView;
&nbsp;
<span style="color: #0000ff;">class</span> <span style="color: #0000ff;">procedure</span> TDummy.AfterCreated<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  WVWindowParent1.UpdateSize;
  WVBrowser1.Navigate<span class="br0">&#40;</span>WVBrowser1.DefaultURL<span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">begin</span>
  GlobalWebView2Loader                := TWVLoader.Create<span class="br0">&#40;</span><span style="color: #0000ff;">nil</span><span class="br0">&#41;</span>;
  GlobalWebView2Loader.UserDataFolder := ExtractFileDir<span class="br0">&#40;</span>Application.ExeName<span class="br0">&#41;</span> + <span style="color: #FF0000;">'\CustomCache'</span>;
  GlobalWebView2Loader.StartWebView2;
&nbsp;
&nbsp;
<span style="color: #0000ff;">end</span>.</pre></td></tr></table></code><hr />
</div>Est-ce que vous pouvez me montrer où j'ai fauté ?</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/zip.gif" alt="Type de fichier : zip" />
	<a href="https://www.developpez.net/forums/attachments/p674653d1772411094/environnements-developpement/delphi/composants-vcl/creer-composants-twebview4delphi-programmatiquement/webview4delphi.zip/">WebView4Delphi.zip</a> 
(852,4 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182392/environnements-developpement/delphi/composants-vcl/creer-composants-twebview4delphi-programmatiquement/</guid>
		</item>
		<item>
			<title>Coment utiliser TWebView4Delphi ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182379&amp;goto=newpost</link>
			<pubDate>Sat, 28 Feb 2026 11:53:45 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
J'ai fait l'installation des Service packs 2 et 3 avec succès.<br />
J'ai installé WebVew4Delphi avec succès.<br />
<br />
Je fais mon premier projet pour afficher Google.fr dans mon écran, et rien ne s'affiche. <br />
J'ai placé WebView2Loader.dll en version 32 bits dans le dossier de mon projet.<br />
J'ai placé un contrôle WvWindowParent dans la form 0 ==&gt; WVWindowParent1<br />
J'ai ajouté un WebView4Delphi dans la form 0 ==&gt; WVBrowser1<br />
J'ai mis WVBrowser1 dans la propriété Bowser de WVWindowParent1<br />
J'ai mis 'htpps://google.fr' dans la propriété DefaultURL de WVWindowParent1<br />
<br />
Résultat: rien ne s&quot;affiche.<br />
<br />
J'ai créé un bouton TButton1, et dans l'évènement On_Click, je charge Navigate avec mon URL:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">WVBrowser1.Navigate<span class="br0">&#40;</span><span style="color: #FF0000;">'https://google.fr'</span><span class="br0">&#41;</span>;</code><hr />
</div>Résultat: rien ne s'affiche.<br />
<br />
J'ai dû manquer quelque chose de fondamental. Pourriez-vous me mettre sur la piste ? Merci d'avance !<br />
Je projet complet est dans le fichier ZIP ci-joint.</div>


	<div style="padding:10px">

	

	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/zip.gif" alt="Type de fichier : zip" />
	<a href="https://www.developpez.net/forums/attachments/p674633d1772279617/environnements-developpement/delphi/composants-vcl/coment-utiliser-twebview4delphi/firsttest.zip/">FirstTest.zip</a> 
(337 octets)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182379/environnements-developpement/delphi/composants-vcl/coment-utiliser-twebview4delphi/</guid>
		</item>
		<item>
			<title>mail avec 365</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2182204&amp;goto=newpost</link>
			<pubDate>Thu, 19 Feb 2026 13:15:05 GMT</pubDate>
			<description>Bonjour, 
 
Nous allons...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Nous allons passer à office 365.<br />
<br />
Je me pose des questions sur mes code source qui envoie des mail avec Indy.<br />
A mon avis ça ne sera plus compatible, car on m'a parlé de TLS1.2 ?<br />
<br />
J'utilise Delphi XE5: est ce que Indy sur cette version pourra envoyer des mail avec un compte office 365 ?<br />
<br />
Cordialement</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>looping</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2182204/environnements-developpement/delphi/composants-vcl/mail-365-a/</guid>
		</item>
		<item>
			<title><![CDATA[Etat physique des touches d'un clavier]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181348&amp;goto=newpost</link>
			<pubDate>Wed, 07 Jan 2026 08:20:53 GMT</pubDate>
			<description>Bonjour. Existe-t-il un moyen...</description>
			<content:encoded><![CDATA[<div>Bonjour. Existe-t-il un moyen de connaitre l'état physique d'enfoncement des touches d'un clavier ?<br />
L'API32 de Windows permet de connaitre l'état logique des touches avec getKeyState ou getAsyncKeyState mais cet état logique ne correspond pas toujours à l'état physique réel d'enfoncement d'un touche. Par exemple, avec les deux touches CTRL gauche et droite, il est quasi impossible de savoir si les deux touches sont enfoncées simultanément !</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>f6dqm1</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181348/environnements-developpement/delphi/composants-vcl/etat-physique-touches-d-clavier/</guid>
		</item>
		<item>
			<title>Comment savoir si une opération TPicture LoadFromFile a terminé ?</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2181036&amp;goto=newpost</link>
			<pubDate>Fri, 19 Dec 2025 01:18:35 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
Je travaille sur un contrôle composé contenant un TPicture et un TPanel. <br />
Je veux charger un fichier BMP dans le TPicture, puis afficher l'image dans le canvas du TPanel.<br />
<br />
Le chargement du fichier par LoadFromFile ne pose pas de problème.<br />
J'utilise une version dérivée de TPanel afin d'avoir accès à la méthode Paint du panel.<br />
Là, j'utilise CopyRect sur ce canvas pour y déposer la bitmap chargée dans le TPicture.<br />
<br />
La difficulté est de savoir QUAND l'opération de chargement du fichier est terminée et la bitmap est disponible pour la méthode Canvas.CopyRect sur le panel.<br />
<br />
Si je fais un délai de 500 ms entre le LoadFromFile et le CopyRect, l'image s'affiche sans problème.<br />
Sans ce délai, l'image ne s'affiche pas - manifestement, la bitmap n'est pas encore disponible.<br />
<br />
J'ai utilisé l'évènement OnChange du TPicture dans lequel j'appelle la méthode Paint du panel dérivé, dans laquelle je fais le CopyRect sur le canvas.<br />
<br />
L'évènement se déclenche bien, mais apparemment, il se déclenche dès que le LoadFromFile commence au lieu de se déclencher lorsque l'opération est terminée.<br />
Et donc, même dans ce cas, la bitmap n'est pas disponible.<br />
<br />
Question: comment savoir quand l'opération LoadFromFile est terminée ?<br />
<br />
A tout hasard, voici les parties significatives du code:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">type</span> TKPicture = <span style="color: #0000ff;">class</span>
  <span style="color: #0000ff;">private</span>
    fOwner: TComponent;
    fPicture: TPicture;
    fPanel: TKPanel;
    fTag: <span style="color: #0080ff;">integer</span>;
    <span style="color: #0000ff;">procedure</span> PictureChanged<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">published</span>
    <span style="color: #0000ff;">constructor</span> CreateNew<span class="br0">&#40;</span>aOwner: TComponent; aDest: HWND<span class="br0">&#41;</span>;
    <span style="color: #0000ff;">destructor</span> Destroy; <span style="color: #0000ff;">override</span>;
    <span style="color: #0000ff;">property</span> Tag: <span style="color: #0080ff;">integer</span> read fTag write fTag;
    <span style="color: #0000ff;">property</span> Owner: TComponent read fOwner write fOwner;
&nbsp;
    <span style="color: #0000ff;">procedure</span> Localize<span class="br0">&#40;</span>aX, aY, aW, aH: <span style="color: #0080ff;">integer</span><span class="br0">&#41;</span>;
    <span style="color: #0000ff;">procedure</span> LoadPicture<span class="br0">&#40;</span>aFile: <span style="color: #0080ff;">string</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">constructor</span> TKPicture.CreateNew<span class="br0">&#40;</span>aOwner: TComponent; aDest: HWND<span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  <span style="color: #0000ff;">inherited</span>;
  Owner := aOwner;
  Tag := <span style="color: #cc66cc;">0</span>;
  fOwner := aOwner;
  fPicture := TPicture.Create;
  fPicture.OnChange := PictureChanged;
  fPanel := TKPanel.Create<span class="br0">&#40;</span>aOwner<span class="br0">&#41;</span>;
  fPanel.Tag := <span style="color: #0080ff;">integer</span><span class="br0">&#40;</span><span style="color: #0000ff;">self</span><span class="br0">&#41;</span>;
  fPanel.ParentWindow := aDest;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">destructor</span> TKPicture.Destroy;
<span style="color: #0000ff;">begin</span>
  Tag := <span style="color: #cc66cc;">0</span>;
  fPanel.Free;
  fPicture.Free;
  <span style="color: #0000ff;">inherited</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TKPicture.Localize<span class="br0">&#40;</span>aX, aY, aW, aH: <span style="color: #0080ff;">integer</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  fPanel.Left := aX;
  fPanel.Top := aY;
  fPanel.Width := aW;
  fPanel.Height := aH;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> Delay<span class="br0">&#40;</span>Milliseconds: <span style="color: #0080ff;">Integer</span><span class="br0">&#41;</span>;
  <span style="color: #808080;">{by Hagen Reddmann}</span>
<span style="color: #0000ff;">var</span>
  Tick: <span style="color: #0080ff;">DWORD</span>;
  Event: <span style="color: #0080ff;">THandle</span>;
<span style="color: #0000ff;">begin</span>
  Event := CreateEvent<span class="br0">&#40;</span><span style="color: #0000ff;">nil</span>, <span style="color: #0000ff;">False</span>, <span style="color: #0000ff;">False</span>, <span style="color: #0000ff;">nil</span><span class="br0">&#41;</span>;
  <span style="color: #0000ff;">try</span>
    Tick := GetTickCount + <span style="color: #0080ff;">DWORD</span><span class="br0">&#40;</span>Milliseconds<span class="br0">&#41;</span>;
    <span style="color: #0000ff;">while</span> <span class="br0">&#40;</span>Milliseconds&gt;<span style="color: #cc66cc;">0</span><span class="br0">&#41;</span> <span style="color: #0000ff;">and</span> <span class="br0">&#40;</span>MsgWaitForMultipleObjects<span class="br0">&#40;</span><span style="color: #cc66cc;">1</span>,Event,<span style="color: #0000ff;">False</span>,Milliseconds,QS_ALLINPUT<span class="br0">&#41;</span>&lt;&gt;WAIT_TIMEOUT<span class="br0">&#41;</span> <span style="color: #0000ff;">do</span> <span style="color: #0000ff;">begin</span>
      Application.ProcessMessages;
      Milliseconds := Tick - GetTickCount;
    <span style="color: #0000ff;">end</span>;
  <span style="color: #0000ff;">finally</span>
    CloseHandle<span class="br0">&#40;</span>Event<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">end</span>;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TKPicture.LoadPicture<span class="br0">&#40;</span>aFile: <span style="color: #0080ff;">string</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  fPicture.LoadFromFile<span class="br0">&#40;</span>aFile<span class="br0">&#41;</span>;
<span style="color: #808080;">//  Delay(500);                   // **1  avec ce d&eacute;lai, l'image s'affiche lors de l'&eacute;v&egrave;nement PictureChanged</span>
<span style="color: #808080;">//  fPanel.Paint;                  // **2 et m&ecirc;me sans d&eacute;clarer l'&eacute;c&egrave;nement PictureChanged, le Paint ici affiche l'image di le d&eacute;lai a &eacute;t&eacute; fait</span>
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TKPicture.PictureChanged<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  fPanel.Paint;  
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>J'affiche bien l'image si j'active la ligne **1.<br />
En l'état, l'image ne s'affiche pas, malgré le déclenchement de PictureChanged.<br />
<br />
J'aimerais bien pouvoir me passer de cette procédure Delay et faire mon Paint au moment opportun. <br />
Comment savoir si la bitmap du TPicture est prête ?<br />
En fait, la question se résume à ceci:   comment être averti que l'opération LoadFromFile est terminée ?</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2181036/environnements-developpement/delphi/composants-vcl/savoir-operation-tpicture-loadfromfile-termine/</guid>
		</item>
		<item>
			<title>TPageControl et suppression des « border »</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180862&amp;goto=newpost</link>
			<pubDate>Tue, 09 Dec 2025 09:54:15 GMT</pubDate>
			<description>Bonjour, 
 
J’ai cherché à...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
J’ai cherché à supprimer les borders du composant TPageControl pour faire plus moderne et épuré sans la moindre réussite :calim2:<br />
<br />
Auriez-vous une idée ou un bout de code qui le permettrait ?<br />
<br />
Merci d’avance de vos retours.</div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>der§en</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180862/environnements-developpement/delphi/composants-vcl/tpagecontrol-suppression-border/</guid>
		</item>
		<item>
			<title><![CDATA[Dans un TCustomControl, je n'arrive pas à capter les flèches par OnKeyDown]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180696&amp;goto=newpost</link>
			<pubDate>Sat, 29 Nov 2025 12:08:24 GMT</pubDate>
			<description>Bonjour, 
 
Je suis sous W11...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
J'essaie de créer un nouveau contrôle dérivé de TCustomControl.<br />
Je joins un fichier ZIP contenant le projet complet.<br />
<br />
J'arrive à le créer et à dessiner mon contrôle (rudimentaire) dans le canvas qui apparaît à l'écran.<br />
J'arrive à capter le click gauche et mousedown ce qui me permet, dans le OnClick, de connaître les coordonnées du click.<br />
Dans on mémo séparé, j'affiche les coordonnées du click lors de l'évènement OnClick, coordonnées mémorisées lors du OnMouseDown.<br />
J'arrive à détecter les touches frappées par OnKeyPress et à identifier un caractère normal, Return (#13) ou Delete (#8).<br />
<br />
Mais, je n'arrive pas à détecter les flèches (droite, gauche, haut, bas) qui sont interceptées avant d'arriver dans mon contrôle, au niveau de Form1.<br />
Le curseur se déplace alors dans la Form1 d'un contrôle à l'autre, ou dans le mémo.<br />
J'ai essayé de modifier le ControlStyle de mon TCustomContrôle (ControlStyle := ControlStyle +[csClickEvents,csCaptureMouse,csAcceptsControls];),<br />
mais cela n'a aucune influence sur le traitement des flèches.<br />
J'ai même essayé de modifier KeyPreview de la Form1 (valeurs True et False), mais le comportement reste inchangé.<br />
Je peux détecter dans OnKeyDown même Shift, Ctrl, Alt, mais pas les flèches. C'est frustrant !<br />
<br />
<b>Comment est-ce que je peux obtenir le passage des flèches dans mon TCustomControl de sorte que le OnKeyDown les détecte ?</b><br />
Voici une capture montrant mon programme après un clic , la frappe de &quot;a&quot;, puis un autre clic à un endroit différent, puis la frappe de la touche Return:<br />
<img src="https://www.developpez.net/forums/attachments/p672194d1764418012/environnements-developpement/delphi/composants-vcl/tcustomcontrol-n-arrive-capter-fleches-onkeydown/capture-d-ecran-2025-11-29-130438.png/" border="0" alt="Nom : Capture d'écran 2025-11-29 130438.png
Affichages : 149
Taille : 15,0 Ko"  style="float: CONFIG" /></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p672194d1764418012/environnements-developpement/delphi/composants-vcl/tcustomcontrol-n-arrive-capter-fleches-onkeydown/capture-d-ecran-2025-11-29-130438.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	
		<fieldset class="fieldset">
			<legend>Fichiers attachés</legend>
			<ul>
			<li>
	<img class="inlineimg" src="https://forum.developpez.be/images/attach/zip.gif" alt="Type de fichier : zip" />
	<a href="https://www.developpez.net/forums/attachments/p672195d1764418089/environnements-developpement/delphi/composants-vcl/tcustomcontrol-n-arrive-capter-fleches-onkeydown/testtcustomcontrol.zip/">TestTCustomcontrol.zip</a> 
(215,9 Ko)
</li>
			</ul>
		</fieldset>
	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180696/environnements-developpement/delphi/composants-vcl/tcustomcontrol-n-arrive-capter-fleches-onkeydown/</guid>
		</item>
		<item>
			<title><![CDATA[Comment "Assigner" une font à une autre ?]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180652&amp;goto=newpost</link>
			<pubDate>Wed, 26 Nov 2025 17:46:05 GMT</pubDate>
			<description>Je suis sous W11 avec Delphi...</description>
			<content:encoded><![CDATA[<div>Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
J'essaie dans mon programme de créer plusieurs polices et d'affecter ces polices à différents contrôles VCL.<br />
<br />
Je fais quelque chose comme ceci:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">var</span>
  Form2: TForm2;
  CellFont: TFont;
  MemoFont: TFont;
<span style="color: #0000ff;">implementation</span>
&nbsp;
<span style="color: #808080;">{$R *.dfm}</span>
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm2.FormCreate<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  CellFont := TFont.Create;
  MemoFont := TFont.Create;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm2.oFontSelectClick<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  FontDialog1.Font.Assign<span class="br0">&#40;</span>CellFont<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> FontDialog1.Execute <span style="color: #0000ff;">then</span> exit;
  CellFont := FontDialog1.Font;
<span style="color: #0000ff;">end</span>;
&nbsp;
<span style="color: #0000ff;">procedure</span> TForm2.oSelectFontMemoClick<span class="br0">&#40;</span>Sender: <span style="color: #0080ff;">TObject</span><span class="br0">&#41;</span>;
<span style="color: #0000ff;">begin</span>
  FontDialog1.Font.Assign<span class="br0">&#40;</span>MemoFont<span class="br0">&#41;</span>;
  <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> FontDialog1.Execute <span style="color: #0000ff;">then</span> exit;
  MemoFont := FontDialog1.Font;
<span style="color: #0000ff;">end</span>;</pre></td></tr></table></code><hr />
</div>Dans mon esprit, cela crée 2 polices indépendantes, chacune paramétrée à un appel à FontDialog1.<br />
Je passe alors CellFont ou MemoFont en paramètre à une procédure.<br />
Là, je veux l'affecter à ma police d'un objet VCL, comme ceci:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">memo.Font.Assign<span class="br0">&#40;</span>aFont<span class="br0">&#41;</span>;</code><hr />
</div>Or, à l'exécution, je reçois ceci:<br />
<img src="https://www.developpez.net/forums/attachments/p672116d1764178676/environnements-developpement/delphi/composants-vcl/assigner-font/capture-d-ecran-2025-11-26-183444.png/" border="0" alt="Nom : Capture d'écran 2025-11-26 183444.png
Affichages : 164
Taille : 12,3 Ko"  style="float: CONFIG" /><br />
<br />
Avant, à la place de Assign, j'affectais les propriétés Name, Size, Color et Style suivantes, comme ceci:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">dest.Font.name = org.font.name
...</pre></td></tr></table></code><hr />
</div>Ca marche pour le permier, mais dès que je veux affecter une autre police à un autre objet, TOUS les objets que j'ai utilisés prennent les attributs de la dernière police modifiée. C'est très frustrant.<br />
<br />
J'ai dû manquer un truc élémentaire... je pensais que Assign faisait le travail, selon <a rel="nofollow" href="https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Graphics.TFont.Assign" target="_blank">https://docwiki.embarcadero.com/Libr...s.TFont.Assign</a>:<br />
<div class="bbcode_container">
	<div class="bbcode_description">Citation:</div>
	<div class="bbcode_quote printable">
		<hr />
		
			Copies the properties of another TFont object.<br />
<br />
Call Assign to set the properties of the font to match the characteristics of the Source object. If Source is another TFont object, Assign matches the font characteristics of the source. Assign does not copy the PixelsPerInch property, so this method can be used to copy a screen font to a printer font, or vice versa.<br />
<br />
If the Source parameter is not another TFont object, Assign calls the inherited method so that the font can be copied from any object that can assign font properties in its AssignTo method.
			
		<hr />
	</div>
</div>Mais en exécution, le fait de passer ces Font en paramètre et de les utiliser dans une procédure, ça ne marche pas...</div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p672116d1764178676/environnements-developpement/delphi/composants-vcl/assigner-font/capture-d-ecran-2025-11-26-183444.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180652/environnements-developpement/delphi/composants-vcl/assigner-font/</guid>
		</item>
		<item>
			<title><![CDATA[Problème avec TButton en injection dans une cellule d'un TStringGrid]]></title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180523&amp;goto=newpost</link>
			<pubDate>Tue, 18 Nov 2025 14:22:36 GMT</pubDate>
			<description>Bonjour, 
 
Je suis sous W11...</description>
			<content:encoded><![CDATA[<div>Bonjour,<br />
<br />
Je suis sous W11 avec Delphi 6 Personal Edition.<br />
<br />
Je suis en train d'injecter (ou d'essayer...) des contrôles dans des cellules d'un contrôle dérivé d'un TStringGrid.<br />
<br />
J'ai essayé TButton. Ca marche, le bouton apparaît et il est cliquable. <br />
Mais le clic ne déclenche pas l'évènement OnClick du bouton injecté.<br />
Par contre, appeler programmatiquement la méthode Click du TButton déclenche bien sa routine OnClick.<br />
<br />
Pui, j'ai essayé TSpeedButton à la place.<br />
Là encore, le bouton apparaît bien et est cliquable.<br />
Mais cette fois, le clic déclenche bien l'évènement OnClick du bouton injecté.<br />
<br />
Conclusion: si je veux un bouton dans un TStringGrid, il faut utiliser TSpeedButton.<br />
<br />
<b>Mais pourquoi ? Qu'est-ce qui fait que TSpeedButton fonctionne et pas TButton, en injection dans une cellule d'un TStringGrid </b>?<br />
<br />
Je joins une capture d'écran après le clic sur un des 6 TSpeedButton injectés - la routine évènement OnClick affiche les coordonnées de la cellule cliquée:<br />
<img src="https://www.developpez.net/forums/attachments/p671889d1763475730/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/capture-d-ecran-2025-11-18-152123.png/" border="0" alt="Nom : Capture d'écran 2025-11-18 152123.png
Affichages : 245
Taille : 28,8 Ko"  style="float: CONFIG" /><br />
<br />
D'ailleurs, après un clic sur le bouton dans la cellule ligne 3 colonne 2, un peut cliquer sur &quot;Info&quot; et on obtient des informations sur la cellule clickée:<br />
<img src="https://www.developpez.net/forums/attachments/p671890d1763476288/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/capture-d-ecran-2025-11-18-152900.png/" border="0" alt="Nom : Capture d'écran 2025-11-18 152900.png
Affichages : 220
Taille : 17,7 Ko"  style="float: CONFIG" /></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p671889d1763475730/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/capture-d-ecran-2025-11-18-152123.png/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p671890d1763476288/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/capture-d-ecran-2025-11-18-152900.png/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f778/environnements-developpement/delphi/composants-vcl/">Composants VCL</category>
			<dc:creator>KlausGunther</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180523/environnements-developpement/delphi/composants-vcl/probleme-tbutton-injection-cellule-d-tstringgrid/</guid>
		</item>
	</channel>
</rss>
