|
One thing to consider is using a right-click to pop up a menu where they can select all of these options, so the application is usable without using the keyboard, or at least minimal keyboard use.
Bezier curves can have as many control points as you want, if you draw them yourself (let me know if you need help with this.) As you say Windows limits you to 4 control points.
|
|
|
|
|
- About context menu idea:
I find right click context menu a but less straight forward..
But I find my click option (so far) confusing though... mm.. who knows...
You remind me I was tempted (at one stage) to have something like Word, the floating format panel that appears after select. But I forgot about it as I realised the panel disappear when you go away to never come back...
Mmm.. maybe I should do just that.. a context menu.. that automatically appear when mouse is close to line. It should just fade in though.. context menu animation seem a bit slow and.. intrusive.
It would be small since it would be 3 short image that describe: split in 2, delete segment, add bezier control point
- About Bezier Curve:
I am using WPF PathGeometry for drawing here. It only goes to Bezier fragment with 4 control point (start, ctrl pt1, ctrl pt2, end).
At any rate it would add little benefit, I am not interested in perfectly fitting and accurate curve but in quick and dirty editing. The idea is to create table top pen and paper RPG map as quickly as possible. Faster that with real pen and paper.
|
|
|
|
|
Just sent three E-Mails.
They all bounced in less than five minutes.
One was within 60 seconds.
They were all legitimate, the other guys wrote me first, and I responded.
My suspicion: My host is allowing the wrong people to rent from him, and my reputation goes out the window with probably a thousand other normal folks.
Suggestions welcome.
|
|
|
|
|
hang in there.... tech support will call soon (it's still really early morning in South Asia)
just give them access to your PC when they ask for it, it'll go much faster that way.
|
|
|
|
|
Use a different email server? Gmail, Yahoo Mail etc.
|
|
|
|
|
I use a couple of hundred different forwarding addresses
(and corresponding identities) to annoy spammers, and it
appears to have been effective; I will estimate that 99%
effective; though I don't have a scientific metric I can
use to verify that. Google and yahoo (great E-Mail, both
of them) wouldn't like my idea of two hundred addresses.
(And who can blame them ?)
Anyway, first time I tried E-Mail tonight, it bounced in
one minute or less.
I'm not well familiar with E-Mail structure. Does E-Mail
contain info about the host in the headers ? I am living
in a hotel room for a few more weeks, and I am wondering
if there is a spammer running a bot on the ISP providing
service here.
At any rate, I am screwed for now.
|
|
|
|
|
Maybe the distance to the the receiver was more than 500 miles ... The case of the 500-mile email[^]
We have a saying in Norwegian: If it isn't true, at least it is a d**m good lie. But I actually believe in this story - the remarks in the FAQ (link at top of the post) answers to so many of the critical questions that it sounds like not something made up.
For the more serious part - your problems could be related to one we had:
One of our customers where kind enough to inform us that when they answered our mails by a "Reply to all", one of our recipients bounced. We had introduced an internal distribution list, CC-ing outgoing mail to that list. The list was strictly internal, so to keep it from being spammed, the list email address was not exposed externally; the mail server rejected all incoming mail from external sources to this list - including when someone replied to our emails by "Reply to all". We decided to open the list for external mail, and haven't seen a spam problem yet, but we may have to find other solutions if we see spam traffic building up.
|
|
|
|
|
When you climb 4000 ft above sea level to one of the cabins of the Norwegian hiker's assocation (DNT) to visit this cabin:
Rabothytta[^]
then you know it is Winter, in the captialized version!
The photographer tells that he managed to hack through the ice on the back side.
|
|
|
|
|
Is it coming, though?!
|
|
|
|
|
I just looked out the window: It's here.
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Ha! those northy!
South hemisphere here!
|
|
|
|
|
So ... bush fires, droughts, flies, and spiders that are out to kill you?
I'll live with snow, thanks!
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
And episodes of "Peppa Pig" being banned because the theme of the episode was "spiders are very small and they can't hurt you".
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Seriously? I guess that makes sense over there ... mind you, my neighbour was bitten by a spider and had to take months of work because her arm didn't work - some of them in the UK are dangerous: e.g. the False Widow. But that doesn't use it's net as a trampoline to try and catch Drop Bears like some of theirs ...
Sent from my Amstrad PC 1640
Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Try restarting your window. That clears the memory cache, so it'll take a fresh look.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
"he managed to hack through the ice on the back side"
|
|
|
|
|
I have Visual Studio 2019 installed on my machine. I just built a C++ desktop app from template.
I will continue the shocking part of this story but first a little history...
Around 1993
Long ago (1993) I started learning C++.
The developers in my group at that time were writing a large program using Visual Studio 1,2,3, etc. and developing on the Windows SDK -- SDK style programming which was basically C wrapped up in Microsoft's way of doing things.
MFC : I Thought It Was Fantastic
Okay, but at that same time a fantastic thing was born: MFC (Microsoft Foundation Classes)
This was true C++ wrappers around the API calls. It was quite fantastic and I began to learn it.
It was kind of like C# before C# was released.
I was stuck between these amazing devs who knew Win API SDK style programming and the MFC (which used true OOP). The generation in front of me wanted little to do with these "unnecessary wrappers around the API"
But I continued into MFC.
Finally, around 1999 Microsoft announces C# and I am angry. Java-like? Throw away this investment into the MFC? Well, it'll be okay, because people will come to their senses and see that MFC is already doing all this stuff they're only promising with C#. Yeah, that's the ticket!
I Jump On Board C#
Finally, I jump on board the C# train and it becomes a rocket. It's the Windows API wrapped in OOP. There are missing things (as the .NET libraries become mature) and I understand how to get to those with pinvoke which is based upon my experience with (yes, Visual Basic) and knowing the Win API from MFC, etc.
We Now Return To My Original Shock
So, now, it's like 20 years later and I build a desktop app from the Visual C++ template and what do I see? Original Windows API stuff!!!!
It's the unwrapped, unvarnished message loop!!!
while (GetMessage(&msg, nullptr, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
It's the old RegisterClass (not related to OOP and classes but related to WNDCLASS).
ATOM MyRegisterClass(HINSTANCE hInstance)
{
WNDCLASSEXW wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_FIRSTC));
wcex.hCursor = LoadCursor(nullptr, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_FIRSTC);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
return RegisterClassExW(&wcex);
}
And where is MFC that wrapped all of this up in nice C++ OOP?
I don't know.
This is MODREN TECHKNOWLEDGY!!! The old has come back to haunt us!!!
This is 1993 tech, okay?
And I know lots of greybeards are going to chime in, "This is the special domain of geniuses and you just don't understand." I know. I know. But the MFC was so nice.
I blame C# for this travesty. Sorry...I'll crawl back over to the C# projects.
EDIT - MFC Desktop Template Gone from 2019?
I believe the Visual Studio template for building desktop apps with MFC is actually removed from Visual Studio 2019.
Here's the explanation of how to get to it in 2017 -- similar to previous versions of VStudio:
Windows desktop development with C++ in Visual Studio | Visual C++ Team Blog[^]
However, if you attempt to find that in 2019 you get no results (shown in following snapshots):
https://i.stack.imgur.com/ZRG43.png[^]
https://i.stack.imgur.com/REriZ.png[^]
The Desktop project template does not allow you to choose the MFC option in 2019.
It may be gone. Interesting.
It could be because it is 2019 Preview 2 and not in yet, but not sure.
EDIT 2 - Found Out How To Get MFC to Install
Ok, I found it way over on the right side in the installer.
There is one checkbox you have to select way over on the right.
That is independent from the item you can see on the left which says Desktop Development with MFC -- which I had already installed. Really terrible. You can see it at:
https://i.stack.imgur.com/ue4FM.png[^]
modified 30-Jan-19 10:03am.
|
|
|
|
|
Build the windows app from MFC rather than the win32 API.
Anyway, things change even slower in the kernel.
|
|
|
|
|
|
I went back to the Visual STudio installer and checked and it does mention MFC in the desktop tools installation.
https://i.stack.imgur.com/CBHX4.png[^]
Maybe I'm just not finding the right template project??
But, this was more about the fact that MFC was just left behind and ignored. Alas. Alas.
|
|
|
|
|
I just installed 2017 and it has MFC stuff in the templates still. Sure you didnt miss it?
|
|
|
|
|
2017 yes. But 2019 doesn't have it.
I could just be too far on the cutting edge.
|
|
|
|
|
Blimey, I cant imagine why they would drop it, it is still a very useful framework.
|
|
|
|
|
Munchies_Matt wrote: Blimey, I cant imagine why they would drop it, it is still a very useful framework.
I agree. But from a product standpoint I bet they hate it because they are like,
Random Product Manager at Microsoft Visual Studio: "Look people have C# if they want that type of thing and this is just a long-term maintenance and support nightmare."
|
|
|
|
|
I looked into it when it first came out in the early 1990s. My reactions then was that "This framework takes over so much of the program logic that it will hijack the entire application and make it extremely difficult to adapt to another [i.e. non-Windows] application!"
The application was planned for multi-platform - Windows was certainly not as dominant then as it has become now. Today, making a Windows-only application is perfectly fine. But as far as I have seen, MFC today is no less (rather more than in the beginning!) a "framework" in the straightjacket sense. It dictates how you write your application logic far more than I appreciate. I wanted to see it as a "library" rather than as a framework, a library that could be replaced by another library (on another platform) without affecting the program logic very much. It didn't appear that way to me, certainly not in the 1990s.
For some reason, I never got that same feeling with C# and WPF. Maybe that is because I have more experience now and simply ignore the elements that try to force me into an application design style that doesn't suit me. Porting C# applications to other platforms is not a very relevant question today, nevertheless I feel that I am the master, WPF is my servant. With MFC it was the other way around, as I experienced it.
|
|
|
|