Click to See Complete Forum and Search --> : HTML: Input File Problem in Mozilla
The Hobo
Aug 7th, 2003, 10:42 PM
I have this bit in my page:
<table border="0" style="width: 100%;">
<tr>
<td align="right" style="width: 8%;">1. </td>
<td style="width: 92%;">
<input class="formfield" type="file" name="F[]" style="width: 100%;" />
</td>
</tr>
</table>
It sizes perfectly in IE, but in Mozilla, its only about 25% of the width, rather than 100%.
All other input types seem to work fine, though?
The Hobo
Aug 7th, 2003, 10:54 PM
Here's a screen shot of what it DOES do. It seems like the color scheme (the background gray color) does go 100%, but the field itself doesn't? :confused:
http://www.vbforums.com/attachment.php?s=&postid=1499902
phpman
Aug 13th, 2003, 12:39 AM
and the only explaination I have right now is that the file box is mostly controlled by the OS so since IE is so intergrated into the OS and mozilla is not it won't work like it should.
CornedBee
Aug 13th, 2003, 02:04 AM
Quite the opposite. No controls of Mozilla are integrated into any OS as a consequence of the platform independence.
The reason that it doesn't work is that Mozilla doesn't allow file upload boxes to be styled for security reasons, so that you cannot even attempt to disguise them somehow. Since the upload box is the only way for a proper page to access your harddisk, it must be clearly visible and known to be what it is.
phpman
Aug 13th, 2003, 08:27 AM
if that the case then why does it act just like the one in IE, example is you cannot change the button (words) or the style (color)? also on select boxes, as in IE, you cannot cahnge the style or the z-index of it. that also is controlled by the OS.
and where did you learn of this? not saying you are wrong but just wanted some proof before I make my judgement.
CornedBee
Aug 13th, 2003, 03:11 PM
I'm not 100% sure of the not-OS-bound part, it was just a guess. I have the Moz code here, so I could probably look it up, given some time.
I read the other on a CSS mailing list (css-discuss).
The Hobo
Aug 13th, 2003, 05:23 PM
Well that really cramps the style of my page. I guess Mozilla users will just have to deal.
Kasracer
Aug 24th, 2003, 03:23 PM
Originally posted by phpman
if that the case then why does it act just like the one in IE, example is you cannot change the button (words) or the style (color)? also on select boxes, as in IE, you cannot cahnge the style or the z-index of it. that also is controlled by the OS.
and where did you learn of this? not saying you are wrong but just wanted some proof before I make my judgement. Leave the HTML forum and never come back.
None of this is controlled by the OS. If it was, that would be incredibly stupid.
The Browser renders everything and then displays it. IE just happens to have THE WORST rendering engine out of any new browsers on this planet. That and quirks mode just ruins everything.
Now, as to the question of the poster, remove the decpriate tags (align= right, border="0") and replace those with CSS. It would also help to post the code for the class "formfield"
Kasracer
Aug 24th, 2003, 03:24 PM
Originally posted by CornedBee
Quite the opposite. No controls of Mozilla are integrated into any OS as a consequence of the platform independence.
This is correct
Originally posted by CornedBee
The reason that it doesn't work is that Mozilla doesn't allow file upload boxes to be styled for security reasons, so that you cannot even attempt to disguise them somehow. Since the upload box is the only way for a proper page to access your harddisk, it must be clearly visible and known to be what it is. I have no idea *** you're trying to say here....
Kasracer
Aug 24th, 2003, 03:24 PM
Originally posted by phpman
and the only explaination I have right now is that the file box is mostly controlled by the OS so since IE is so intergrated into the OS and mozilla is not it won't work like it should. No, this is wrong
The Hobo
Aug 24th, 2003, 04:03 PM
Originally posted by kasracer
I have no idea *** you're trying to say here....
He's saying that Mozilla does not allow you to change the style of a input filebox for security reasons. If you could hide it or disguise it, then your form could upload a file off the users computer without them knowing.
Kasracer
Aug 24th, 2003, 04:48 PM
Originally posted by The Hobo
He's saying that Mozilla does not allow you to change the style of a input filebox for security reasons. If you could hide it or disguise it, then your form could upload a file off the users computer without them knowing. You can hide input boxes as is.....
It's impossible unless you install something onto someone's system, to upload there files without there knowledge.
The Hobo
Aug 24th, 2003, 05:28 PM
Originally posted by kasracer
You can hide input boxes as is.....
It's impossible unless you install something onto someone's system, to upload there files without there knowledge.
As to your first sentence: what?
If you COULD hide a file input box, and set a default value, then you COULD upload a file without a user knowing.
What CB was saying is that Mozilla doesn't allow you to change the style so that you CAN'T do it.
Kasracer
Aug 24th, 2003, 05:58 PM
Originally posted by The Hobo
As to your first sentence: what?
If you COULD hide a file input box, and set a default value, then you COULD upload a file without a user knowing.
What CB was saying is that Mozilla doesn't allow you to change the style so that you CAN'T do it. You can hide input boxes. IE just has tons of propriatar crap.
The Hobo
Aug 24th, 2003, 07:04 PM
Originally posted by kasracer
You can hide input boxes. IE just has tons of propriatar crap.
I was just trying to explain what CornedBee was saying. I'm not debating you.
Do you have an answer for my question? How can I make the width thing work?
phpman
Aug 24th, 2003, 08:09 PM
Originally posted by kasracer
Leave the HTML forum and never come back.
None of this is controlled by the OS. If it was, that would be incredibly stupid.
The Browser renders everything and then displays it. IE just happens to have THE WORST rendering engine out of any new browsers on this planet. That and quirks mode just ruins everything.
Now, as to the question of the poster, remove the decpriate tags (align= right, border="0") and replace those with CSS. It would also help to post the code for the class "formfield"
no, it is you that needs to leave. come and try to prove me wrong. until you prove me wrong and show us all how it is done, I will bow to your excellence. but until then get on your knees and bow to me. :mad:
When HTML first introduced the use of forms, it called upon already-existing controls within the operating system to display form elements. A checkbox, a text input, a drop-down SELECT menu, or any other form element, was created by placing the operating system's built-in checkbox, text input, or menu in a Web page. That is, although they are called through HTML, they are not created by HTML, as say, a heading or a paragraph is. The easiest way to prove this is to view form elements on different platforms. They always correspond to the platform standard, not to anything you have coded.
http://www.webreference.com/dhtml/diner/seethru/ :
phpman
Aug 24th, 2003, 08:17 PM
oh and just to add to it
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/select.asp
scroll down until you hit the remarks section and you will see.
This element is a windowed control and does not support the z-index attribute or zIndex property.
Kasracer
Aug 24th, 2003, 09:10 PM
Originally posted by phpman
no, it is you that needs to leave. come and try to prove me wrong. until you prove me wrong and show us all how it is done, I will bow to your excellence. but until then get on your knees and bow to me. :mad:
http://www.webreference.com/dhtml/diner/seethru/ : But I did prove you wrong, HTML elements are not OS dependant. The similar stylings are because they are standard. If they were OS dependant, don't you think Mac OSX would use shiney round buttons or something very stylish? No they don't (In IE).
You do realize that was in a VERY old version of HTML, correct?(Pertaining to your quote) Yeah... I doubt anyone uses that version of html anymore.
If HTML got elements from the OS, it would limit the Power of itself moreso, since Microsoft would basicly control everything.
Kasracer
Aug 24th, 2003, 09:11 PM
Originally posted by phpman
oh and just to add to it
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/objects/select.asp
scroll down until you hit the remarks section and you will see. Because it says windowed, you think it's part of windows? :rolleyes:
The Hobo
Aug 24th, 2003, 09:45 PM
Originally posted by kasracer
Now, as to the question of the poster, remove the decpriate tags (align= right, border="0") and replace those with CSS. It would also help to post the code for the class "formfield"
Yeah, align is NOT deprecated for <td> and border is not deprecated for <table>. So I will not feel the need to change them.
The code for class formfield simply specifies a background-color. With that removed, the problem still exists.
phpman
Aug 24th, 2003, 10:59 PM
Originally posted by kasracer
But I did prove you wrong, HTML elements are not OS dependant. The similar stylings are because they are standard. If they were OS dependant, don't you think Mac OSX would use shiney round buttons or something very stylish? No they don't (In IE).
You do realize that was in a VERY old version of HTML, correct?(Pertaining to your quote) Yeah... I doubt anyone uses that version of html anymore.
If HTML got elements from the OS, it would limit the Power of itself moreso, since Microsoft would basicly control everything.
dude, what are you on. html4.0 is the same way. hell even XHTML1.1 is that way. and no you have not proven me wrong.
still don't see code that proves me wrong.
Kasracer
Aug 24th, 2003, 11:29 PM
Originally posted by The Hobo
Yeah, align is NOT deprecated for <td> and border is not deprecated for <table>. So I will not feel the need to change them.
The code for class formfield simply specifies a background-color. With that removed, the problem still exists. They will become deprecated and there is absolutely no reason to use them in HTML anymore. Style sheets are a good thing
Kasracer
Aug 24th, 2003, 11:32 PM
Originally posted by phpman
dude, what are you on. html4.0 is the same way. hell even XHTML1.1 is that way. and no you have not proven me wrong.
still don't see code that proves me wrong. What kind of code could I give you to prove you wrong?
<Don't use OS components />
?
If I gave you any code other than what was given within this post, it would not prove either of us right or wrong, it just is rendered in other browsers.
There isn't a command that says don't use OS components and if there was, then it would make you right (which you are not).
The browser renders the code, the OS runs the browser, they don't work together much more than that (except IE since it's integrated into every ****ing thing in Windows)
CornedBee
Aug 25th, 2003, 01:10 AM
What code to prove you wrong? I recommend
http://lxr.mozilla.org/
for such code.
And this:
<button id="bla" name="bla" style="border-width: 5px;">
<ol><li>Reason 1</li>
<li>Reason 2</li>
<li>Reason 3</li></ol>
</button>
CornedBee
Aug 25th, 2003, 01:11 AM
And you could try finding the control windows on a Mozilla-rendered page with Spy++. Good luck!
phpman
Aug 25th, 2003, 08:29 AM
granted that page I posted first is a little old but there is still OS components that the browser reads. it may not be as much as that page says. BUTTON is not part of that code, can you show me a listbox that doesn't come from windows and it not flash? no you cannot.
I can give you 10,000 pages that say I am right, you have not said anything that says you are right.
the select and file box come from the OS, no buts about it. tell me why you can't color the scroll bar on a select box.... can't be done as it doesn't get run from the browser. yes the browser inserts it but it gets it from the OS.
CornedBee
Aug 25th, 2003, 09:25 AM
Give me those 10000 pages.
I can guarantee to you, though, that the Mozilla edit box (<textare>) is NOT an OS component.
CornedBee
Aug 25th, 2003, 09:29 AM
BTW, phpman, I find your debating style curious.
I have given you three good signs that the controls are not OS components, while you gave us a quote that says that in early versions of HTML form controls where matched to OS controls. Fine, but I don't care about early HTML versions.
In front of this evidence you posted this:
I can give you 10,000 pages that say I am right, you have not said anything that says you are right.
I'm really surprised, and, I must say, disgusted, at the attitude and ignorance you show.
CornedBee
Aug 25th, 2003, 09:35 AM
To make my argument clearer, I'll repost your quote, but with a changed emphasis.
When HTML first introduced the use of forms, it called upon already-existing controls within the operating system to display form elements. A checkbox, a text input, a drop-down SELECT menu, or any other form element, was created by placing the operating system's built-in checkbox, text input, or menu in a Web page. That is, although they are called through HTML, they are not created by HTML, as say, a heading or a paragraph is. The easiest way to prove this is to view form elements on different platforms. They always correspond to the platform standard, not to anything you have coded.
Overall I'm surprised about the apparent lack of knowledge or communication skills on the author's part. To say that controls are "called through HTML" or not "created by HTML", or that paragraphs are "created by HTML" is misleading at best. Paragraphs are pointed out by HTML, they are created by the page author and they are rendered and displayed by the browser. And as the requirements to styling have increased, browsers have taken over the task of drawing and managing controls too, as the OS-bound controls are simply not flexible enough - as demonstrated in my code snippet.
The Hobo
Aug 25th, 2003, 09:51 AM
Originally posted by kasracer
They will become deprecated and there is absolutely no reason to use them in HTML anymore. Style sheets are a good thing
They are a PART of HTML. That's all the reason I need to use them.
I use style sheets abundantly. But I also use HTML.
If you don't have a solution to my question, then bug off. I don't give a damn if border is going to be deprecated in the future or if controls are rendered by the OS or the browser.
If it'll make you happy and actually TRY to help me, here:
<table style="border: 0px; width: 100%;">
<tr>
<td style="text-align: right; width: 8%;">1. </td>
<td style="width: 92%;">
<input type="file" name="F[]" style="width: 100%;" />
</td>
</tr>
</table>
Kasracer
Aug 25th, 2003, 03:23 PM
Originally posted by The Hobo
They are a PART of HTML. That's all the reason I need to use them.
I use style sheets abundantly. But I also use HTML.
If you don't have a solution to my question, then bug off. I don't give a damn if border is going to be deprecated in the future or if controls are rendered by the OS or the browser.
[/code] I was just trying to tell you, jeeze.
The <center> tag is in HTML, does that mean it still should be used?
Originally posted by The Hobo
<table style="border: 0px; width: 100%;">
<tr>
<td style="text-align: right; width: 8%;">1. </td>
<td style="width: 92%;">
<input type="file" name="F[]" style="width: 100%;" />
</td>
</tr>
</table> What I am thinking is that, usually, the table rows want themselves to all be the same size, and the first 1 maybe limiting the other?
Not exactly sure
The Hobo
Aug 25th, 2003, 03:48 PM
Originally posted by kasracer
I was just trying to tell you, jeeze.
The <center> tag is in HTML, does that mean it still should be used?
<center> is deprecated. None of my code was. There's a difference.
Originally posted by kasracer
What I am thinking is that, usually, the table rows want themselves to all be the same size, and the first 1 maybe limiting the other?
Even with this:
<input type="file" name="F[]" style="width: 100%;" />
It still doesn't work. :confused:
phpman
Aug 25th, 2003, 07:37 PM
Originally posted by CornedBee
To make my argument clearer, I'll repost your quote, but with a changed emphasis.
Overall I'm surprised about the apparent lack of knowledge or communication skills on the author's part. To say that controls are "called through HTML" or not "created by HTML", or that paragraphs are "created by HTML" is misleading at best. Paragraphs are pointed out by HTML, they are created by the page author and they are rendered and displayed by the browser. And as the requirements to styling have increased, browsers have taken over the task of drawing and managing controls too, as the OS-bound controls are simply not flexible enough - as demonstrated in my code snippet.
then you haven't read all of my posts.
granted that page I posted first is a little old but there is still OS components that the browser reads. it may not be as much as that page says. BUTTON is not part of that code, can you show me a listbox that doesn't come from windows and it not flash? no you cannot.
I can give you 10,000 pages that say I am right, you have not said anything that says you are right.
the select and file box come from the OS, no buts about it. tell me why you can't color the scroll bar on a select box.... can't be done as it doesn't get run from the browser. yes the browser inserts it but it gets it from the OS.
the only controls the browser loads that are windowed are SELECT and FILE. nothing else. not even the textarea. besides nothing was said about the textarea, only select and file input.
search google for "windowed elements" and you will find those 10,000 pages that say the exact (or close to it) thing I have been saying here.
the SELECT and FILE input are not loaded by the browser. only called from. even the iframe was this way until IE5.5. now it is not a windowed element.
tell me why you can't change the text on the file input button if the browser has control..... it will always say "browse" and there is nothing you can do about it. if the browser had control of this why can't you change it. the fact that Hobo got the file box to stretch in IE is because IE is more intergrated with the OS, mozilla is not.
my arguing is done, this is not going anywhere and until you guys prove me wrong I will not post to this thread any longer.
hope you get it like you want Hobo. I bet you don't though.
Kasracer
Aug 25th, 2003, 10:03 PM
Originally posted by phpman
my arguing is done, this is not going anywhere and until you guys prove me wrong I will not post to this thread any longer. Your arguing isn't going anywhere because you are wrong.
The elements are rendered by the browser, not brought form the OS.
If it was brought by the OS, then web browsing experience would be different. Don't you know Mac OS would change things to look more fuity like they've done with everything else?
You are worng, this has been proven twice, it's 2 versus 1.
I fail to see any webpages that actually say elements within the current HTML and XHTML are brought from the OS.
A quick trip to www.w3c.org can teach you about the standards :)
CornedBee
Aug 26th, 2003, 06:51 AM
I don't see how quoting your own statements that you have not supported by anything is in any way relevant to this, um, discussion.
I also notice that you apparently have neither tried the code I gave you, nor acknolewdged the fact that HTML needs a browser to be displayed, so HTML is doing nothing at all.
then you haven't read all of my posts.
In this thread, I've read all.
granted that page I posted first is a little old but there is still OS components that the browser reads
Just a repitition of what you said earlier. Repeating yourself doesn't back up your point.
can you show me a listbox that doesn't come from windows and it not flash?
What do you mean by that? Download and install Mozilla, then go to any page with a list box. There you have one that doesn't come from the OS and is not flash. And very likely it's the same for IE.
the select and file box come from the OS, no buts about it
Alright, no buts. You are simply wrong, there don't need be any buts.
tell me why you can't color the scroll bar on a select box....
This just proves your limited view of the web. You can't color ANY scroll bars unless you use IE's proprietary extensions. As for the reason why IE cannot - who knows? Have you seen IE's source code?
the only controls the browser loads that are windowed are SELECT and FILE
Incidently, there is no OS file control. Isn't it funny?
If you want something like the file input field you must combine an edit field and a button with the localized form of "Browse..." on it. And why are you so sure about the select?
And what exactly do you mean by "load"?
tell me why you can't change the text on the file input button if the browser has control..... it will always say "browse" and there is nothing you can do about it. if the browser had control of this why can't you change it.
Errm - because the browser doesn't give YOU control?
Why can't you put a style on an image so that it gets displayed upside down? The browser could, so why can't you? Or is an image an OS-controlled thing too?
search google for "windowed elements"
No, I won't. Give me a link.
the fact that Hobo got the file box to stretch in IE is because IE is more intergrated with the OS, mozilla is not.
http://bugzilla.mozilla.org/show_bug.cgi?id=52500
Actually I was wrong about the security issue. It is raised in this thread, but the main issue seems to be unclearness on the part of W3C and mozilla.org's unwillingness to break their standards compliance. However, this doesn't contradict my point at all.
my arguing is done, this is not going anywhere and until you guys prove me wrong I will not post to this thread any longer.
Maybe it's better that way. How about not posting in this forum any longer?
phpman
Aug 26th, 2003, 10:44 AM
since you are so lazy in finding the answer I guess I have to show you I am not the only one that thinks (knows) this.
http://vindaloo.milonic.co.uk/pipermail/milonic/2003-January/001043.html
look at the date on that one, hmm 2003. :rolleyes:
http://microsoft.ease.lsoft.com/scripts/wa-msn.exe?A2=ind0008d&L=ie-html&D=0&T=0&P=3989
http://dbforums.com/t433735.html
11,900 other sites that say the same as I do (http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=windowed+elements&btnG=Google+Search)
http://intranetjournal.com/ix/msg/35219.html
that code you supplied is a regular button, it proves nothing. wow you created a button good for you. now advance to the intermediate level of html.
seems to me that it is 11,901 to 2 :rolleyes:
but again I bet you say everyone is wrong.
tell me the definition of a windowed control (ie. windowed element)
CornedBee
Aug 26th, 2003, 01:56 PM
Ok, this actually clears things up a bit.
Apparently there's no score between us as we were talking about different things. I wasn't talking about IE alone, which is pure crap IMHO. I must admit, though, that you have beaten kasracer to what he said - or not!
You see, while you are right that the select box (unlike the file input, at least in IE6) is indeed a window of its own, it is not the OS-supplied combo box, but instead one that comes with Internet Explorer. This explains why it can be styled to some extent (color etc., for the OS-supplied combo box this would mean subclassing the combo box and catching WM_PAINT, effectivly creating a new control), but also why z-index doesn't affect it. A window is always in front of or behind its parent. There can't be anything in-between.
The file input however is drawn like a text field and a button together would be in IE and Mozilla.
So, kasracer is correct with this:
The elements are rendered by the browser, not brought form the OS.
But you are correct to call <select> in IE a "windowed control". I believe it's the only one though. And the common definition of "windowed control" (=brought from the OS) is wrong, a correct definition is "residing in its own window".
I hope this is settled then.
Travis G
Aug 28th, 2003, 09:35 AM
Originally posted by kasracer
But I did prove you wrong, HTML elements are not OS dependant. The similar stylings are because they are standard. If they were OS dependant, don't you think Mac OSX would use shiney round buttons or something very stylish? No they don't (In IE).
You do realize that was in a VERY old version of HTML, correct?(Pertaining to your quote) Yeah... I doubt anyone uses that version of html anymore.
If HTML got elements from the OS, it would limit the Power of itself moreso, since Microsoft would basicly control everything.
I can't even get though this entire thread before I want to find a global ignore button for kasracer.
First off, the UAs (User Agents, meaning web browsers) are free to display input elements in any way they want. It does not, in any way what so ever, rely on the OS.
And example: IE has always used round radio buttons, because round radio buttons are what MS has always used everywhere else. Don't be confused in thinking that IE is limited to round radio buttons just because Windows uses round radio buttons, BECAUSE... other browsers that currently run on Windows (Mosaic, Mozilla variants) use diamond shaped radio buttons.
The lesson is, the UA can display an input element in any way it wants. You have limited control over how a UA displays input elements because of accessibility. You are the user, and you expect your radio buttons to show up a certain way, so that you know they are radio buttons and not check boxes.
Having said all of this, it is very likely that any browser you use in the future on Windows will always have round radio buttons because the OS has an open API and browsers don't need to rewrite the code to visually build a radio button. But if they wanted to, they are free to. There are no standards saying radio buttons must be round.
But wait, you say... IE will let me change the color of various inputs or controls that Mozilla won't... this is because IE is less concerned about user accessibility than Mozilla is. Mozilla could let you do the same as IE, they just chose not to. There are actually a few cases when even Mozilla has screwed accessibility, but I won't get into that.
Now I hope most of this was resolved already and I'm just repeating what others have said. I couldn't get though it all because kasracer just bugged me so much.
CornedBee
Aug 29th, 2003, 01:09 AM
But Travis, not even IE uses the OS radio button. It only uses the same look.
The Hobo
Sep 1st, 2003, 01:55 PM
So, I gather from the link that CB gave that this is a known issue with Mozilla, yet they don't know what to do about it since it isn't clear how it should be handled in the in the standards?
So, basically, there is nothing I can do?
I don't understand why I can set a border or partial background-color, but I can't specify a width.
Just doesn't seem right. But...oh well.
The Hobo
Sep 1st, 2003, 01:57 PM
Originally posted by Travis G
I can't even get though this entire thread before I want to find a global ignore button for kasracer.
That's just about how I feel with 98% of his threads.
Phenix
Sep 1st, 2003, 06:22 PM
What caught my attention was that slash for the input tag "/>".
I know I've seen it used when there is no closing tag, perhaps even on the input tag. But this validator (http://www.htmlhelp.com/tools/validator/direct.html) didn't like it when your code was pasted between the body tags.
I couldn't find any documentation (today) for when to use "/>", although I've seen it used. Do you have a source for when that is valid syntax?
This (http://www.w3.org/TR/html401/interact/forms.html#h-17.4) says the end tag is forbidden, but they probably mean "</input>".
The Hobo
Sep 1st, 2003, 09:23 PM
It's part of the XHTML standard. And I'm sure it's even valid for HTML 4.01. Could be wrong, though.
CornedBee
Sep 2nd, 2003, 01:06 AM
I think an SGML parser won't be happy, but browsers just ignore it even if they don't understand XHTML. At least as long as you have a space before the slash (<br /> works in NS4, <br/> doesn't).
phpman
Sep 6th, 2003, 07:14 PM
I have to add one more thing since it slipped my mind until just now.
for all you non-believers that the select box and other "windowed elements" are not part of the OS then do this:
get a page that has a select box in it or make one. if you forgot here is the code
<select>
<option></option>
</select>
you will not need any values or text as this will be uneffected by this experiment.
so once that is in your page and opened up in your browser, doesn't matter which one (mozilla, IE, firebird, Opera etc...)
now you see a drop down correct? ok now right click on your desktop and go into properties and then appearance. in the second drop down called "item" find one called "Scrollbar"
next make that scrollbar size oh say about 20-30 and then hit apply. now all your scroll bars in "Windows" will be bigger huh? ok then open you browser back up and low and be hold the select box is bigger as well. hmmmm how can that be if the select box is controlled by the Browser. well all be damned, it isn't. cause if it was, then the scrollbar would not grow as the scrollbar on the right hand side of the browser didn't.
I have proven might point. and yes just becasue it says "windowed" I will believe it is from the OS.
case proven....... deny that one ;)
The Hobo
Sep 6th, 2003, 08:43 PM
Alright, before I say what I have to say here, let me first say that I really don't know anything about what you guys are talking about. Nor am I picking sides in this matter, because, like I said above, I'm undeducated in the matter.
But, out of curiousity, I just did a test. I put the code that phpman supplied above in a webpage and viewed it. Then I went into Visual Basic and created an application with a ComboBox.
Now, not being very educated in this matter, I am going to assume that the ComboBox in this application is one created by the OS.
I then executed said program and left it, and the webpage, running.
I opened Spy++ and selected the VB ComboBox, and it said it's class name is ThunderComboBox. I then selected the IE ComboBox and it said its class name was Internet Explorer_TridentCmboBx.
Now, I'm not sure what kind of evidence this gives me for anything. I'm not even sure what this means. I just found it interesting.
If anybody can tell me what this information I gathered means, I'd be delighted. Just thought it might prove useful in this conversation.
And, off-subject with my post, I think what you (phpman) said in your last post only proves that IE got the scrollbar from the OS, instead of making its own.
If you can find a way to modify the individual look of the ComboBox in both the system AND the webpage, I think that would prove very informative.
That said, I've used Windows XP a few times, and notice that ComboBoxes in both IE and applications run in the environment have a blue rounded border around them.
This would seem (to me, anyways) to add evidence that the browser gets these controls from the OS, which is contradictory to what I said early. So I'm going to guess that I just don't understand what the class name means.
One last time, I would like to state that I am uneducated in this matter and am just making general conclusions that may be ignorant.
I'm not stating I know the answer to this. Just providing observations I've made, for whatever they may mean. :)
phpman
Sep 6th, 2003, 09:53 PM
yes it does change the scroll bar or drop down arrow, hence why you can't control the color (IE) or the z-index of that said control. you also can't control some of the color or text in the names in the option tags.
I believe, no facts about this, that in VB it gets them from the vb runtime files. in IE I believe it gets them from a OCX in the OS. now they could be the same file who knows. but I know I have been studying the source code for mozilla and I am not confident or know much about C or C++ but it may also prove it comes from the OS. I found many references to the select tag so I need to find out if it actually calls the tag from the OS.
all this came about because you asked about the file input box, which is also, or was, a "windowed element" like the select tag. so that is why you can't control some of it aspects.
what you found hobo is very informative, thanks
The Hobo
Sep 6th, 2003, 10:44 PM
But I can control ALL aspects of the file box. In Internet Explorer. Not in Mozilla, though.
phpman
Sep 7th, 2003, 01:08 AM
yes because IE is more in tune with the OS. M$ made IE a very big part of windows. but still you can't change the browse button can you? and you can't control the z-index either I don't believe.
Sastraxi
Sep 7th, 2003, 01:37 AM
For god-bloody-sakes stop calling the damned company "M$". You haven't done anything close to MS, and you use their damned products.
CornedBee
Sep 7th, 2003, 04:34 AM
Comboboxes are a mess. VB is a mess. IE is a mess. :)
The class name for the standard user.dll combobox is "COMBOBOX". Every combobox that doesn't use this class name is not a real OS combobox.
The ComboBox ActiveX control that you place in VB (all controls in VB are ActiveX controls) seems not to wrap the OS combobox but rather to imitate it, using a class name of ThunderComboBox. This imitation includes the retrieval of windows color schemes and use of these colors.
And finally, the IE development team has written a very similar control with a class name of Internet Explorer_TridentCmboBx, which retrieves the OS properties too, but can also be styled to a limited extent via stylesheets. But it is NOT the OS-provided combobox.
To get the real OS-created combobox, open VC++, design a dialog, place a combobox on it and press "Test Dialog" (or Ctrl+T).
Comboboxes in Mozilla aren't even separate windows, so you're wasting your time searching for any reference to the OS combobox.
And finally, file boxes aren't a seperate window in either IE or Mozilla, they aren't what you call "windowed controls".
Sas: M$M$M$M$M$M$ :p
The Hobo
Sep 7th, 2003, 07:55 AM
All I wanted was to make it wider... :(
phpman
Sep 7th, 2003, 10:56 AM
Originally posted by CornedBee
Comboboxes in Mozilla aren't even separate windows, so you're wasting your time searching for any reference to the OS combobox.
And finally, file boxes aren't a seperate window in either IE or Mozilla, they aren't what you call "windowed controls".
Sas: M$M$M$M$M$M$ :p
I just proved it to you and you still deny it? :confused: you are one sad person then. you have not proven nothing to me and all I have done is proven everything to you. file boxes are also somewhat "windowed controls" as you can't control the z-index of that said element. and there are about 5 of these "windowed controls"
you tell me to look into the source code to find it and now you are telling me that I am wasting my time.
sas: I confused at what you mean? I am not bashing Microsoft.
The Hobo
Sep 7th, 2003, 01:24 PM
phpman, like I said, I'm not exactly following everything here, but I think they only thing you proved earlier is that the browser uses the system's scroll bars rather than creating their own.
What exactly is a windowed control? Perhaps I could understand all this better if I knew that. :confused:
CornedBee
Sep 7th, 2003, 03:13 PM
You only proved that IE uses a separate window for the combobox, which behaves very much like the OS combobox, but which isn't the OS combobox, at least not in an unchanged form. The changed window class name proves that.
As for the file input control, I checked that myself: it is NOT a separate window.
If you want to check it yourself, you need Spy++ or a similar program. You can get it for free by downloading the Windows SDK.
You simply are under the misconception that proving part of your theory (and in fact a part I've never been denying) means that the whole theory is true.
CornedBee
Sep 7th, 2003, 03:15 PM
you tell me to look into the source code to find it and now you are telling me that I am wasting my time.
Yes, I gave you one method to check what I'm saying for yourself. Only that now I've found a better way, so you're wasting your time searching the source. And of course you'd be wasting your time searching for the OS combobox as it doesn't appear.
phpman
Sep 7th, 2003, 04:36 PM
Originally posted by CornedBee
You only proved that IE uses a separate window for the combobox, which behaves very much like the OS combobox, but which isn't the OS combobox, at least not in an unchanged form. The changed window class name proves that.
not just IE, any browser you use. I never once said it was the exact same one but controlled by the OS, not the browser.
Hobo, a windowed control "element" is something a browser runs. take a textbox, it is on a plane by itself, a z-axis so to speak. a select box is a windowed element as it sits above all other elements on the page in its own window. and since this happens you can't control the z-axis of it. if you had 2 select boxes you can control the z-axis of each one in relationship to each other or other windowed elements
does that clear some of it up?
CornedBee
Sep 8th, 2003, 01:25 AM
not just IE, any browser you use
Mozilla does NOT, I repeat, NOT, use a separate window for a combobox. That means that it is NOT, I repeat, NOT, controlled by the OS.
And as for controlled by the OS - that is a very vague statement. A control is always controlled by its owner. The owner creates it, destroys it, adds and removes elements and reacts to its messages.
Then the control is controlled by its provider. In case of the OS combobox, this is user32.dll, for the extended combobox it's comdlg32.dll, ThunderCombobox is most likely provided by the VB runtime DLL or some OCX. IE's combobox is provided by some IE DLL. The provider draws the combobox and reacts to mouse/keyboard events. The provider sends notifications to the parent.
And finally the control is somewhat controlled by the OS environment color settings, but ONLY to the extent the provider allows it. If the provider decides not to heed the color settings then the OS can't do anything.
Now let's see. IE's combobox:
Owner: IE
Provider: IE
Settings: OS, IE heeds them as long as not overridden by style.
Really, that doesn't sound like OS-controlled to me.
The z-axis thing is a direct result from the fact that the control is a window.
phpman
Sep 8th, 2003, 04:34 PM
Originally posted by CornedBee
Mozilla does NOT, I repeat, NOT, use a separate window for a combobox. That means that it is NOT, I repeat, NOT, controlled by the OS.
are you flipping high???? I just proved it works in mozilla too. did you even try it in mozilla? hmm I just did it on linux (mozilla) and guess what, it does the same exact thing windows does, styles the drop down according to the OS. imagine that. also, you cannot control the z-axis on the select box in mozilla as it is a windowed element. try it and show me the code proving me wrong.
And finally the control is somewhat controlled by the OS environment color settings, but ONLY to the extent the provider allows it. If the provider decides not to heed the color settings then the OS can't do anything.
so all browsers must have the same provider because they all do the samething. let the OS control the color and style of the drop down which makes no sense as you say it is not controlled by the OS.
Now let's see. IE's combobox:
Owner: IE
Provider: IE
Settings: OS, IE heeds them as long as not overridden by style.
Really, that doesn't sound like OS-controlled to me.
you CANNOT syle the drop down arrow on a select box. any styling comes from the OS, come on it is not hard to admit that you are wrong......
The z-axis thing is a direct result from the fact that the control is a window.
yes, that is true and the only thing you have said that is the truth
[b]you have not proven me wrong yet. [b]
CornedBee
Sep 9th, 2003, 06:27 AM
First, I'd like to thank you for your quality contributions in this debate. I like the way you convey a feeling of equality to me, how you show me that you value me as an equal and a good debate partner.
Second, let's take a look at your post.
I just proved it works in mozilla too. did you even try it in mozilla? hmm I just did it on linux (mozilla) and guess what, it does the same exact thing windows does, styles the drop down according to the OS.
Have you ever written a stand-alone program? Something written in C++ or Pascal or something? There are many ways to reach an effect and the end user is easily deceived.
What I am talking about is that there are two nice functions in the WinAPI, called GetSystemMetrics and GetSysColor, which retrieve the settings you can set via the control panel. Just write your control so that it asks for all these values and uses them and, whoosh, it's impossible to distinguish from the native control.
http://lxr.mozilla.org/seamonkey/source/widget/src/windows/nsLookAndFeel.cpp
Yet the control is still controlled by you. Don't like the OS's colors? Do something else, it's up to you.
As for the z-axis, I don't know about that, but I don't care either. I don't like z-axis controls anyway. But of course, if the z-axis is the only point that counts in dividing controls into "windowed" and "non-windowed" then it is completly pointless anyway and I don't understand what the fuss is about.
so all browsers must have the same provider because they all do the samething. let the OS control the color and style of the drop down which makes no sense as you say it is not controlled by the OS.
They all query the OS for the style set to use (XP or traditional) and for the colors, but the OS doesn't control them.
you CANNOT syle the drop down arrow on a select box. any styling comes from the OS, come on it is not hard to admit that you are wrong......
But you CAN, for example, style the background color of the combobox. For the dilemma of styling combined elements see the bugzilla link I gave you.
yes, that is true and the only thing you have said that is the truth
Ah, but that somehow contradicts with what you said above, that Mozilla's combobox is z-axis independent too. And Mozilla's combobox is not a window, Spy++ shows this very clearly.
The Hobo
Sep 9th, 2003, 03:19 PM
Anyone up for a 5 minute recess? :p
CornedBee
Sep 10th, 2003, 01:23 AM
Sure :D
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.