View Issue Details

IDProjectCategoryView StatusLast Update
0024583LazarusLCLpublic2013-06-13 20:15
ReporterAnton KavalenkaAssigned ToPaul Ishenin 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.1 (SVN)Product Build 
Target VersionFixed in Version1.1 (SVN) 
Summary0024583: LCL-win32: Button captions with & painted twice
DescriptionSee the picture.
Captions without & are painted properly.
TagsNo tags attached.
Fixed in Revision41698
LazTarget-
WidgetsetWin32/Win64
Attached Files

Relationships

child of 0024135 acknowledged TBitBtn is inaccessible on Windows 

Activities

Anton Kavalenka

2013-06-11 17:21

reporter  

lcltheme.PNG (17,608 bytes)
lcltheme.PNG (17,608 bytes)

Anton Kavalenka

2013-06-11 17:22

reporter   ~0068224

Maybe this related to recent changes in TButton.Settext to allow screen reader functinality

Bart Broersma

2013-06-11 23:09

developer   ~0068229

I cannot reproduce with Lazarus 1.1 r41680 FPC 2.6.2 i386-win32-win32/win64 on Win7.
Neither in a sample app, nor in the exact same dialog as in the attached screenshot.

Paul Ishenin

2013-06-12 11:08

manager   ~0068235

Anton, please check before and after that revision since I don't see a problem locally too.

Tsvetoslav

2013-06-12 12:15

reporter   ~0068236

I can reproduce the issue on my computer - WinXP SP3, 32-bit.
It affects TBitBtn controls, but not TButton controls

Tsvetoslav

2013-06-12 12:16

reporter  

TBitBtn_issue.png (9,482 bytes)
TBitBtn_issue.png (9,482 bytes)

Maxim Ganetsky

2013-06-12 12:57

developer   ~0068240

Last edited: 2013-06-12 12:58

View 2 revisions

I confirm these problems. Note that this problem seems to affect only captions with ampersands. Such caption seems to be drawn once with ampersand and once without.

Lazarus 1.1 r41685 FPC 2.6.3 i386-win32-win32/win64, Windows XP SP3, 32 bit.

Bart Broersma

2013-06-12 13:25

developer   ~0068245

Can you try reverting r41655:

In lcl/interfaces/win32wsbuttons.pp

class procedure TWin32WSBitBtn.SetText(const AWinControl: TWinControl; const AText: string);
begin
  if not WSCheckHandleAllocated(AWinControl, 'SetText') then Exit;
  TWin32WSWinControl.SetText(AWinControl, AText); <<-- Comment out this line
  DrawBitBtnImage(TCustomBitBtn(AWinControl), AText);
end;

And then re-test on WinXP.

Maxim Ganetsky

2013-06-12 13:30

developer   ~0068246

Yes, reverting r41655 fixed this problem.

Issue History

Date Modified Username Field Change
2013-06-11 17:21 Anton Kavalenka New Issue
2013-06-11 17:21 Anton Kavalenka File Added: lcltheme.PNG
2013-06-11 17:22 Anton Kavalenka Note Added: 0068224
2013-06-11 23:09 Bart Broersma Note Added: 0068229
2013-06-12 11:08 Paul Ishenin LazTarget => -
2013-06-12 11:08 Paul Ishenin Note Added: 0068235
2013-06-12 11:08 Paul Ishenin Assigned To => Paul Ishenin
2013-06-12 11:08 Paul Ishenin Status new => feedback
2013-06-12 12:15 Tsvetoslav Note Added: 0068236
2013-06-12 12:16 Tsvetoslav File Added: TBitBtn_issue.png
2013-06-12 12:57 Maxim Ganetsky Note Added: 0068240
2013-06-12 12:58 Maxim Ganetsky Note Edited: 0068240 View Revisions
2013-06-12 13:25 Bart Broersma Note Added: 0068245
2013-06-12 13:30 Maxim Ganetsky Note Added: 0068246
2013-06-12 17:18 Anton Kavalenka Status feedback => assigned
2013-06-13 09:33 Paul Ishenin Relationship added child of 0024135
2013-06-13 09:34 Paul Ishenin Fixed in Revision => 41698
2013-06-13 09:34 Paul Ishenin Status assigned => resolved
2013-06-13 09:34 Paul Ishenin Fixed in Version => 1.1 (SVN)
2013-06-13 09:34 Paul Ishenin Resolution open => fixed
2013-06-13 20:15 Anton Kavalenka Status resolved => closed