|
Zilo(svk) wrote: Just the simple act of creating that mouse hook causes the whole UI to run not optimally...
Sure there is no reason to hook mouse messages for the UI thread you are already running in yes? Are you creating a System Wide Hook? That would be even more expensive.
Zilo(svk) wrote: non-client painting
You really need to specify your functional requirements if you want to receive any help on this problem.
led mike
|
|
|
|
|
Yes I'm making system wide hook. Let me explain why I'm hooking mouse events. I want to be able to use context help system. That means, by holding a specified key (CTRL for example) and left-clicking on a control, help file rather than control OnClick event will be raised. So I need to hook keyboard for my special key (that is running w/o problems) and mouse hook to catch any lef mouse click on my application form surface (any control), run the help file (.chm scrolled down to that control found by key-name). Rather than overriding OnClick in any possible control that I will ever use, I decided that the mouse hook is easier way how to accomplish this.
dont worry about the NC painting anymore...
zilo
|
|
|
|
|
And one more question. When I want hook only events regarding my Application Domain, I need to call SetWindowsHookEx with my AppDomain.GetCurrentThreadId() which is unmanaged thread id. Now this method is deprecated and msdn states that I should use ManagetThreadId instead. But this id is not working of course. How can I avoid AppDomain.GetCurrentThreadId() and still create the hook locally (which signifficantly improves the performance)?
zilo
|
|
|
|
|
Hi
I am working on localization, and I was wondering if there is a tool from microsoft or other that can read in resource files and provide a view of the form with its controls placed and attributed according to the XML in the resx file. I presume what ever code that does this in visual studio is not available to the public.
Scott
|
|
|
|
|
I think you're missing the point of resource files. Resource files typically store localized information, e.g. text data that should change depending on the user's culture. If you want to render web forms based on XML definitions, you need to look at using XSLT to transform XML to HTML.
Paul Marfleet
"No, his mind is not for rent
To any God or government"
Tom Sawyer - Rush
|
|
|
|
|
Hi,
I haven't seen the functionality you're talking about anywhere available, but I guess it should'nt be difficult to initialize those forms using reflections and display them...
Or maybe I would consider just creating picture of the form and display that picture. That would be much faster approach, however not dynamic...
I guess I didn't help much
good luck
zilo
|
|
|
|
|
Been living in a cave? WPF[^] I mean I have yet to touch it and don't that I ever will but at least I know about it.
led mike
|
|
|
|
|
Damn you beat me to it
|
|
|
|
|
Since I have only recieved flamebait replies (other than Zilo) so far, I guess I should clarify my original post.
I have multi-lingual .NET 1.1 (Visual Studio 2003) forms with resource files that have been generated. These resx files contain a full description of the entire form for the projects in question in XML. I would like to be able to render that information as a form, and possibly even have some form editing ability. This is quite possible to do, and I could code it myself but I would rather not due to time constraints.
Using WPF, and I have heard of it, is interesting but it is not helpful in my case since I have a lot of .NET 1.1 forms I need to localize and you can not simply drop in the 1.1 resx files into a xaml application definition file.
|
|
|
|
|
Scott Morken wrote: you can not simply drop in the 1.1 resx files into a xaml application definition file.
Agreed but raises a larger question. Who and why would someone or some team / shop decide to build a .NET 1.1 application without considering as part of the Project Life Cycle migrating it to future versions of the platform / languages? Just Curious, I mean what about this platform has not screamed PLANNED OBSOLESCENCE since day one? Just curious? And just like Java I might point out.
led mike
|
|
|
|
|
To answer my own question, this program does precisely what I had asked in my original post. It loads resx files and renders the form, allowing a localization expert to create new localized resx files without having to look at the rest of the project.
[Windows Form Resource Editor]
Apparently at least one of the frequent posters here is the one living in a cave
|
|
|
|
|
How to convert ZedGraph for printpreview dialog?
|
|
|
|
|
hello,
i want to remove the selected items of listview, the code i wrote is working but too much slow
listViewEx1.BeginUpdate();
int count = listViewEx1.SelectedItems.Count - 1;
while (listViewEx1.SelectedItems.Count > 0)
listViewEx1.SelectedItems[count--].Remove();
listViewEx1.EndUpdate();
i also tried to remove items in this way :
listViewEx1.Items.Remove(listViewEx1.SelectedItems[count--]);
but no benefit, i have about 1200 items with only one column
any solution?
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Try surrounding your code with calls to listViewEx1.SuspendLayout() and listViewEx1.ResumeLayout() methods so that your listview is not repainted every time you remove an item.
|
|
|
|
|
no, no benefite
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
As you are removing items from the collection, every iteration in the loop will create a completely new collection when you use the SelectedItems property.
Try this:
Copy the references from the SelectedItems collection to a new collection, and loop through that collection to remove the items:
listViewEx1.BeginUpdate();
List<ListViewItem> remove = new List<ListViewItem>(listViewEx1.SelectedItems);
foreach (ListViewItem item in remove) item.Remove();
listViewEx1.EndUpdate();
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
nah, this code have compile time error :
Error 2 Argument '1': cannot convert from 'System.Windows.Forms.ListView.SelectedListViewItemCollection' to 'int'
however i did a code that speed is better than previous, its taking about 1.5 secs to remove 1200 items :
listViewEx1.BeginUpdate();
ListViewItem[] LVI = new ListViewItem[listViewEx1.SelectedItems.Count];
listViewEx1.SelectedItems.CopyTo(LVI, 0);
for (int a = 0; a < LVI.Length; a++)
LVI[a].Remove();
listViewEx1.EndUpdate();
i like reference type but sometimes it sucks
anyway thanks guys for your responses
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
I see. The ListView.SelectedListViewItemCollection is IEnumerable , but not IEnumerable<ListViewItem> , so it can't be used in the constructor for the list.
listViewEx1.BeginUpdate();
List<ListViewItem> remove = new List<ListViewItem>();
foreach (ListViewItem item in listViewEx1.SelectedItems) remove.Add(item);
foreach (ListViewItem item in remove) item.Remove();
listViewEx1.EndUpdate();
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
buddy i showed you the working code
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Yes, I know. I showed you an alternative along the line of what I suggested earlier.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
ok thanks
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Wat's wrong with listViewEx1.Items.Clear() ?
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
He want's to remove only the selected items not all of them.
Tut tut, you should read the question
|
|
|
|
|
ah, Clear() will remove all the items, i just want to remove selected items
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Are you using any listview column sorters? If so, you should set it to null before you start removing the items. Once you're done, you can set the sorter back to the original value.
Scott.
—In just two days, tomorrow will be yesterday.
—Hey, hey, hey. Don't be mean. We don't have to be mean because, remember, no matter where you go, there you are. - Buckaroo Banzai
[ Forum Guidelines] [ Articles] [ Blog]
|
|
|
|