Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7007261
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T21:35:03+00:00 2026-05-27T21:35:03+00:00

Is it possible to change the Multiselect behaviour with a standard TListBox? I would

  • 0

Is it possible to change the Multiselect behaviour with a standard TListBox?

I would like items to only be multiselected by holding the Ctrl key, not the Shift key.

I have TActions which update depending on items selected, eg:

TAction(Sender).Enabled := ListBox1.ItemIndex <> -1;

The controls assigned to the action flicker when a listbox item is selected when holding shift to multiselect, this does not happen by holding ctrl key only.

So I would like to use only Ctrl key to multiselect.

Simply put, how can I:

  • Multiselect TListBox
  • Use Ctrl to multiselect
  • Shift has no effect

Thanks 🙂

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T21:35:04+00:00Added an answer on May 27, 2026 at 9:35 pm

    Item selection is processed by the default window procedure of the underlying list box api control. Because of this there’s no VCL property that would do this. Nevertheless, users might not like this, but you can change the behavior by handling WM_LBUTTONDOWN message that is post the the control which triggers item selection. Subclass the control in any way you like. Or, since WM_LBUTTONDOWN is posted, you can use OnMessage event of an ApplicationEvents component. Or, just as one example below, if the control is immediately parented by the form, you can use the notification sent to the parent:

    type
      TForm1 = class(TForm)
        ..
      private
        procedure WMParentNotify(var Msg: TWMParentNotify); message WM_PARENTNOTIFY;
        ..
    
    procedure TForm1.WMParentNotify(var Msg: TWMParentNotify);
    var
      Pt: TPoint;
      State: TKeyboardState;
    begin
      if (Msg.Event = WM_LBUTTONDOWN) then begin
        Pt := SmallPointToPoint(SmallPoint(Msg.XPos, Msg.YPos));
        MapWindowPoints(Handle, ListBox1.Handle, Pt, 1);
        if PtInRect(ListBox1.ClientRect, Pt) then begin
          GetKeyboardState(State);
          State[VK_SHIFT] := 0;
          SetKeyboardState(State);
        end;
      end;
      inherited;
    end;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Possible Duplicate: Change language programatically in Android I would like to develop an Android
Is possible change background-color on same td in fullcalendar? for example: I like have
Is it possible to change appearance of 'fontselect', 'fontsizeselect' and 'formatselect' selectboxes something like
Is it possible to change ant property location attribute with .properties file like property
Is it possible to change default EventKitUI style? I'd like to have different background
Is it possible to change the items in a card Layout? I want to
Is it possible to change Safari settings in a native app like following :
Possible Duplicate: Change CSS Dynamically I need to change the height of a div
Is it possible to change the width of a scroll bar on a form.
Is it possible to change the font size used in a ContextMenu using the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.