Anyone Skin TPlusMemo Successfully?

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #54518
    Support
    Keymaster

    This control can't be skinned, seems.

    Can you send me or upload here any Exe with this control?

    #54575
    standay
    Participant

    Surprisingly the Pmemo skined OK like the Tmemo and TRichedit do. I could scroll the Pmemo by mousewheel or keys while over/in the text, but when using the scrollbars (both horz and vert), the text would move correctly but as soon as I let up on the mouse it would scroll back to wherever the cursor was. So my guess was it was doing a scrollinview on mouseup which turned out to be right.

    I hate to hack source code so what I did to workaround that was to subclass (I think that's the right term) the Pmemo in my app, and then did this in the MouseUp:

    procedure TPlusMemo.MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

    var

    oldDisplayOnly: boolean;

    begin

    if not Form1.sSkinManager1.Active then //no need for a hack if skinning is inactive

    begin

    inherited;

    exit;

    end;

    //hack:

    oldDisplayOnly := DisplayOnly;

    DisplayOnly := Button mbRight;

    inherited;

    DisplayOnly := oldDisplayOnly;

    end;

    I know, pretty ugly hack but it does work and has not seemed to cause any side effects so far and I've been doing a ton of work on my new app with this in it. If I was going to run into something I probably would have by now. Here's a screenshot of the app with the plusmemo internal (yet skinned and working) scrollbars):

    [attachment=7534:skinned.png]

    #54591
    Support
    Keymaster

    Thank you for the information.

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.