ralfiii

Forum Replies Created

Viewing 20 posts - 41 through 60 (of 82 total)
  • Author
    Posts
  • in reply to: TLabel with Align=alClient causes Form to misbahave #49497
    ralfiii
    Participant
    'Support' wrote:

    When you activates a skin? In the form OnShow/OnCreate or in design-time?

    In OnCreate.

    in reply to: Docked form (BorderStyle=bsNone) suddenly gets border #49473
    ralfiii
    Participant
    'ralfiii' wrote:

    A workaround seems to be to put a SkinProvider-Component on the docked form and sert SkinData.SkinSection to “CHECKBOX”.

    But that leads to a real CATASTROPHIC bug.

    I create such a form (in a panel) – see 01_Ok.png.

    Then I maximize the parent form. As a result the new area of the docked form is not skinned at all. (see 02_Maximized_Fail.png).

    Very irritating: The sequence of OnResize and OnPaint is inverted for the docked form.

    So when I maximize the Mainform this is the sequence of events:

    DockedForm.OnPaint

    DockedForm.OnResize <- this should be called BEFORE the paint, not after it. I suppose this is the cause for that bug. MainForm.OnResize MainForm.OnPaint A little app demonstrating this is attached. Tested with V8.10 – reproducable. Help!!!

    in reply to: Docked form (BorderStyle=bsNone) suddenly gets border #49472
    ralfiii
    Participant

    A workaround seems to be to put a SkinProvider-Component on the docked form and sert SkinData.SkinSection to “CHECKBOX”.

    in reply to: Docked form (BorderStyle=bsNone) suddenly gets border #49470
    ralfiii
    Participant
    'mol' wrote:

    I know this doesn't resolve the bug, but still (out of curiosity): why do you guys use forms and not TFrames?

    I use frames whenever I need “component-like” functionality, i.e. a couple of components+code instanced a couple of times.

    In this case I use Forms because the module can be docked (without border), or the module can “live free” as normal free floating Forms (with Border). And a TFrame is missing the OnPaint-event which I need.

    Ralf

    in reply to: Form state is maximized but size is not #49400
    ralfiii
    Participant

    Hamilton,

    yes, this issue is resolved now!

    Thanks!

    in reply to: 8.03 two issues #49307
    ralfiii
    Participant

    Maybe also worth mentioning: The 8.03 version now needs the Vclie*.bpl package (Webbrowser components) – just in case you deploy your application using packages.

    in reply to: Panel-in-Panel not skinned properly upon resize #49135
    ralfiii
    Participant

    bug still there in v8.02

    in reply to: Catastropic! AC8.0 kills png-images from dfm files #49129
    ralfiii
    Participant
    'Support' wrote:

    Thank you for the demo! :a3:

    Will be fixed on this week.

    V8.01 fixes the problem, thanks!

    You have really a TOP TOP TOP support, thanks for your quick and friendly help!

    in reply to: Resize of an alClient-Form fails #48990
    ralfiii
    Participant
    'Support' wrote:

    Try this patched file please

    It works!

    Thanks!!!

    in reply to: Form.OnPaint called too late – overwrites other content #48777
    ralfiii
    Participant

    Version 7.68 solves this problem.

    Thanks a lot Serge!!!

    ralfiii
    Participant

    Any news on that?

    *push*

    in reply to: Dynamic Forms #47422
    ralfiii
    Participant
    'Ralph' wrote:

    Your system says I am 'not permitted to upload this kind of file'.

    zip it.

    in reply to: Dynamic Forms #47382
    ralfiii
    Participant
    'Ralph' wrote:

    Finding the error on a form this complex would be too time consuming. I believe that the problem was caused by one of the components not getting its parent property set correctly when added to the form. I may have to switch to another skinning product.

    I tried quite a lot of different skinning solutions before I found AC. I didn't find another one that was as good as this one.

    Do you create the controls on that form at runtime?

    And, regarding time-comsuming: My product is a humongous thing. Still thinning the app out to a skeleton that still shows the problem is just a matter of minutes. And then you suddenly delete something or change something and the sknning works again. That's were you can start to dig. Again, as I said, normally a matter of minutes, maybe one hour.

    In your case you don't even need to let the “switch skin”-code survive. If you open a form the controls have to be skinned. If this is not the case this is enough to demonstrate the problem.

    Just my 2cents.

    Ralf

    in reply to: Dynamic Forms #47379
    ralfiii
    Participant

    Have you placed a SkinProvider-component on the dynamically created form?

    I guess nobody can help if it's not reproducable.

    Last time I had such a case I copied the project and deleted and deleted and deleted until I found the circumstances that were needed (as a minimum) to show the problem.

    Then the guys from AC were really quick in helping me.

    Ralf

    in reply to: TsCheckListBox and DrawItem-method #47378
    ralfiii
    Participant

    I have changed the code for the TsCheckListBox and attached a pic of my current (left) and the normal (right) focus rect and my current focus rect, just to make it easier to understand what my problem is.

    Here's the code:

    Code:
    procedure TForm1.sCheckListBox1DrawItem(Control: TWinControl; Index: Integer;
    Rect: TRect; State: TOwnerDrawState);
    var IsSelected : boolean;
    const ColorFieldWidth = 10;
    const ColArr : array[0..3] of TColor = (clBlack, clRed, clBlue, clYellow);
    begin
    IsSelected:=odSelected in State;

    with (Control as TsCheckListBox) do
    begin
    // Clear Cell
    if IsSelected then
    begin
    Canvas.Brush.Color:=$00AED7FF;
    Canvas.FillRect(Rect);
    end;

    // Draw Colorfield
    Canvas.Brush.Color:=ColArr[Index mod 4];
    with Rect do
    Canvas.FillRect(Classes.Rect(Left+2,Top+2,Left+2+ColorFieldWidth,Bottom-3));

    // Output Text
    Canvas.Brush.Style:=bsClear;
    Canvas.Font.Color:=clBlack;
    with Rect do
    Canvas.TextOut(Left+ColorFieldWidth+7, Top+1, Items[Index]);
    end;
    end;

    in reply to: How to work with TsAlphaImageList at runtime? #47273
    ralfiii
    Participant

    Yes, I used

    Code:
    Caption:=IntTostr(sAlphaImageList1.Count);
    sAlphaImageList1.Clear;
    sAlphaImageList1.Items.Clear;
    Caption:=Caption+' – '+IntTostr(sAlphaImageList1.Count);

    And the result is “2 – 2”.

    So before and after 2 images.

    in reply to: How to work with TsAlphaImageList at runtime? #47249
    ralfiii
    Participant

    This code doesn't do anything good.

    For adding images I found a solution:

    Code:
    with TsImgListItem(imgList.Items.Add) do
    begin
    ImageFormat := ifPNG;
    PixelFormat := pf32bit;
    ImgData.LoadFromStream(strmBinInDb);

    Png := TPNGGraphic.Create;
    Png.LoadFromStream(ImgData);
    Ico := MakeIcon32(Png);
    ImageList_AddIcon(imgList.Handle, Ico);
    DestroyIcon(Ico);
    FreeAndNil(Png);
    end;

    (…quite a lot of code…)

    but Clear still doesn't work at all.

    in reply to: SkinProvider generates range check error on startup #47242
    ralfiii
    Participant

    Super, thanks!

    Best support team ever!

    in reply to: Draw from AlphaImageList with reduced saturation? #47234
    ralfiii
    Participant

    Found it 🙂

    (just 1 minute after posting)

    DrawAlphaImgListDC with BlendColor=clNone does the job.

    Thanks anyway 🙂

    in reply to: Shade speedbutton sideways? #47214
    ralfiii
    Participant
    'Support' wrote:

    Buttons will be transparent and without borders if the SkinData.SkinSection property changed to 'CHECKBOX'.

    I think, that is what you want if I understand you correctly. 🙂

    That's a perfect solution, thanks!

Viewing 20 posts - 41 through 60 (of 82 total)