Solved

RichEdit1.Perform(EM_CANPASTE, 0, 0) <> 0;

Posted on 1998-07-30
6
550 Views
Last Modified: 2011-04-14
In the RichEdit example with Delphi 4 it uses
RichEditEditor.Perform(EM_CANPASTE, 0, 0) <> 0; to find out if there is something to paste from the clipboard.  I am trying to do the same but with a ComboBox but it does not work. Any suggestion ?
 
0
Comment
Question by:moonrise
  • 3
  • 3
6 Comments
 
LVL 10

Expert Comment

by:viktornet
ID: 1359283
It doesn't compile because there is no message EM_CANPASTE for TComboBox...That's why it can not perform it...

To see what messages the combobox has look 'em up in the win32 help file

Regards,
Viktor Ivanov
0
 

Author Comment

by:moonrise
ID: 1359284
I fount this constant to be in Richedit.pas. I created my own constant so it compiles fine. But I don't get the right result like I do with a RichEdit component.
0
 
LVL 10

Expert Comment

by:viktornet
ID: 1359285
Why do you actually do you need to paste something from the clipborad...Let's say it's a whole file, then what? Everything copied will get into your combobox...

Regards,
Viktor Ivanov
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:moonrise
ID: 1359286
There is a PASTE button on my form. This button has to be disabled when there is nothing in the clipboard to paste. My form is a webbrowser and the combobox is the url.  The paste can also occur on the web page. It does not matter because all components use the same clipboard.  If I had a richedit on that screen I would use it and I would have no problem. Just like I could place a dummy richedit, make it invisible, just to be able to use it to check if there is something in the clipboard.  

So the question is why does that work with richedit and not with other components ?
0
 
LVL 10

Accepted Solution

by:
viktornet earned 50 total points
ID: 1359287
Hello Moonrise, if you just want to check that, and if it doesn't matter to you what way are you using then , you can use this way to check and paste what's in the clipboard if its format is text...
----------------
uses clipbrd;

procedure TForm1.PasteButtonClick(Sender: TObject);
var ClipBoard : TClipBoard;
begin
  if ClipBoard.HasFormat(CF_TEXT) then  
    SendMessage(ComboBox1.Handle, WM_PASTE, 0, 0);
end;
---------------------------
If there is text in the clipboard then the text will be pasted in the combobox...I hope that answers your question...not exactly, but this is one of the ways to do it... :)

Regards,
Viktor Ivanov

0
 

Author Comment

by:moonrise
ID: 1359288
Good, it does exacly what I need. In fact it is even better because that way the paste button will remain disabled if there is let say a picture in the clipboard.  Thank you.
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now