Solved

Dynamically enter numeric values in Maskedit control

Posted on 1998-11-22
3
586 Views
Last Modified: 2012-06-21
Hi,
I am using a Maskedit box that can accept only numeric values. The Maskedit box has got two decimal places. At runtime when i enter values , firstly the maskedit box does not right align the numbers, cuz there is not such align property for it. Secondly if the numbers are entered one by one, they remain the same on the screen and do not get formatted. Like for eg, if the mask is "___.__" and i enter "2_2.__" the lostfocus shows the same "2_2.__" even if hideselection is false.

Is there a way first to dynamically start entering numbers from the right most side of the maskedit box and second how do i backspace the numbers i.e if i delete any numerals. I have written function to convert "2_2.__" to "022.00" in the lostfocus. Any Help?
0
Comment
Question by:ravicha
3 Comments
 
LVL 5

Expert Comment

by:scrapdog
ID: 1446165
Maskedit boxes are usually not very versatile...you could try to simulate your own using a regular edit box...do your validation in the change event, and update the position of the insertion point accordingly.
0
 
LVL 1

Expert Comment

by:wford
ID: 1446166
I agree with scrapdog..try setting up a normal text box..I personaly use the keypress event..since then you can stop invalid input. Don't for get to leave at least backspace, return and delete keycodes enabled.
0
 
LVL 3

Accepted Solution

by:
myqlG earned 100 total points
ID: 1446167
everyone is right so far.
use a text box and on lostfocus use the format command to make
it all work
You can also enter only text by using something like this in
the keypress event:
If IsNumeric(Chr(KeyAscii)) = False And KeyAscii <> vbKeyBack And KeyAscii <> vbKeyDelete And KeyAscii <> vbKeyReturn Then KeyAscii = 0
If KeyAscii = vbKeyReturn Then
KeyAscii = 0
Call keybd_event(9, 0, 0, 0): Call keybd_event(9, 0, 2, 0)
End If
(I cut and pasted this so dont ask about keybd_event)
I use that instead of sendkeys because of a known sendkeys/numlock error.
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

776 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