Войти

Показать полную графическую версию : Visual Basic 2008


Страниц : 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18

alexa___
05-08-2008, 14:50
Uzvern,
В том то и дело, что все рисунки (изображения) могут не вместится в область формы, надо чтобы они позиционировались на этом "поле".

Неужели нет решения? Я уверен что дожно быть. Программисты, отзовитесь!!!

Delirium
05-08-2008, 16:53
alexa___, ты можешь в конце концов указать язык, на котором пишешь? в .NET Framework 2.0 есть контейнер ToolStripContainer, как уже сказал Uzvern:

ToolStripContainer Class
Provides panels on each side of the form and a central panel that can hold one or more controls.

Visual Basic (Declaration)
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class ToolStripContainer _
Inherits ContainerControl

Visual Basic (Usage)
Dim instance As ToolStripContainer

В этом контейнере уже можешь делать что душе угодно.

ссылка с MSDN:
ms-help://MS.MSDNQTR.v90.en/fxref_system.windows.forms/html/1a9341d0-58da-0c16-762d-a9ec150ae790.htm

alexa___
05-08-2008, 17:01
Delirium, ты мне коды пишешь, а мне нужен компонет, который можно выбрать на панели инструментов и положить его на форму. (.NET Framework 3.5) - может 2.0 выбрать?

Uzvern
05-08-2008, 17:29
alexa___, если бы такое компонет существовал, то тебе бы тогда уже давно написали как его вызвать и кинуть на форму. Мое мнение таково : этот компонент не нужен, т.к. есть V(H)ScrollBar с сочетанием других компонентов.

Вот код : Private Sub VSB_Scroll(ByVal e As System.Windows.Forms.ScrollEventArgs, ByVal ParamArray Components() As Object)
For Each EC As Object In Components
If e.OldValue > e.NewValue Then
EC.Location = New Point(EC.Location.X, EC.Location.Y + e.NewValue + e.OldValue)
Else
EC.Location = New Point(EC.Location.X, EC.Location.Y - e.NewValue - e.OldValue)
End If
Next
End Sub

Как его юзать : Private Sub VScrollBar1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles VScrollBar1.Scroll
VSB_Scroll(e, указываем нужные компоненты через запятую)
End Sub

Uzvern
05-08-2008, 23:45
Как можно задать иконки файлам, кторые открываются через написаную прогу? Типа как AIMP задает иконки на звуковые файлы.

Delirium
06-08-2008, 01:37
Открываем реестр....
Смотрим пример текстового файла....
[HKEY_CLASSES_ROOT\txtfile\DefaultIcon]
@=%SystemRoot%\system32\shell32.dll,-152

Соответственно, если у вас есть файлы ваши с расширением abc, то надо в реестре сделать запись примерно похожую на txtfile.

Uzvern
06-08-2008, 01:56
Ещё небольшой вопрос не по теме : как можно создавать (!) (в одной файле, несколько иконок разного качества)?
Рисовать то мы их умеем, осталось только их как-то в один ico-файл упаковать.

Uzvern
09-08-2008, 00:04
Как обозначит переменную, как Controls?
Dim FEControls As
Просто хочу сделать, чтобы можно было обозначить нужный Controls

И как можно открыть папку и выделить какой-либо элемент?

Мессир
16-08-2008, 21:19
Доброго времени суток.
Уже пятый день бьюсь над вопросом и ничего не получается :dont-know. Подскажите плиз
Вопрос в следующем:
Есть на винчестере картинка, кликнув на кнопке необходимо её загрузить, уменьшить до размеров 150х110 пикс. и сохранить в другом месте с этими размерами.
Как вариант её еще нужно отобразить в PictureBox, но с этим проблем у меня не возникнет, я надеюсь..

Uzvern
16-08-2008, 23:07
Мессир, чтобы сохранить файл можно воспользоваться этим кодом, а вот как изменить размеры сохраняемого файла, это мне тоже интерестно :yes:

Dim SFD As New SaveFileDialog
Dim PB As PictureBox

Sub SaveImage(ByVal PictureBox As PictureBox)
PB = PictureBox
AddHandler SFD.FileOk, AddressOf SFD_FO
SFD.ShowDialog()
End Sub

Sub SFD_FO()
PB.Image.Save(SFD.FileName)
End Sub

чтобы загрузить изображение в PictureBox

Sub PictureLoad(ByVal PictureBox As PictureBox, ByVal Path As String)
PictureBox.Load(Path)
PictureBox.Size = New Size(150, 110)
PictureBox.SizeMode = PictureBoxSizeMode.StretchImage
End Sub

Мессир
17-08-2008, 03:45
Ещё небольшой вопрос не по теме : как можно создавать (!) (в одной файле, несколько иконок разного качества)?
Рисовать то мы их умеем, осталось только их как-то в один ico-файл упаковать. »
Я для этого юзаю прогу IconUtils. там можно чё угодно с иконами делать.
Мессир, чтобы сохранить файл можно воспользоваться этим кодом, »
Спасибо. попробую. :up
а вот как изменить размеры сохраняемого файла, это мне тоже интерестно »
Надеюсь если узнаеш напишеш ;-)

Uzvern
18-08-2008, 00:55
Я для этого юзаю прогу IconUtils. там можно чё угодно с иконами делать. »
Да я уже через Visual Studio понял как сделать.

Надеюсь если узнаеш напишеш ;-) »
Думаю, что тебе адмирал быстрее ответит :) :yes:

Uzvern
18-08-2008, 19:30
Изменяем размеры изображения
Dim OFD As New OpenFileDialog
Dim SFD As New SaveFileDialog

Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
OFD.Filter = "All Files|*.*"
SFD.Filter = "JPG|*.jpg|GIF|*.gif|PNG|*.png"

AddHandler OFD.FileOk, AddressOf OFD_FO
AddHandler SFD.FileOk, AddressOf SFD_FO

OFD.ShowDialog()
End
End Sub

Private Sub OFD_FO()
If IO.File.Exists(OFD.FileName) Then
If OFD.FileName.EndsWith(".jpg") Or OFD.FileName.EndsWith(".gif") Or OFD.FileName.EndsWith(".png") Then
SFD.ShowDialog()
Else
MsgBox("Вы указали неверный файл.", MsgBoxStyle.Critical, "Ошибка")
End If
End If
End Sub

Private Sub SFD_FO()
Dim Size As Size = New Size(150, 110)

Dim b As New Bitmap(Bitmap.FromFile(OFD.FileName), Size)
For Each SFDFE In SFD.Filter
Select Case SFDFE
Case "JPG"
b.Save(SFD.FileName, Imaging.ImageFormat.Jpeg)
End
Case "GIF"
b.Save(SFD.FileName, Imaging.ImageFormat.Gif)
End
Case "PNG"
b.Save(SFD.FileName, Imaging.ImageFormat.Png)
End
End Select
Next
End Sub


Before : http://i36.tinypic.com/28t3ye.jpg
After : http://i37.tinypic.com/2efrqf9.png

стырил отсюда (http://www.gotdotnet.ru/Forums/Windows/488591.aspx)

как в (Save/Open)FileDialog можно указать несколько расширений?
All Files|*.* это все файлы, а мне нужно указать например My Prog Files|*.aaa,*.aab,.*abc что-то типо этого


Admiral, Я нашел как добавить свое поле в выпадающее меню. (http://rsdn.ru/article/vb/wndproc.xml?print)
152 (http://forum.oszone.net/post-842188-152.html)

Uzvern
19-08-2008, 23:14
Где можно просмотреть или как-то вывести "windows.h" header file?
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Const ID_Load As Integer = &H1
If m.Msg = ID_Load Then
MsgBox("Форма удачно загружена")
End If
MyBase.WndProc(m)
End Sub
Например тут &H1 отвечает за загрузку формы, &H2 за её закрытие. Дак вот мне бы хотелос узнать, где я могу получить список действий.

Delirium
20-08-2008, 01:25
Вам нужно именно содержимое windows.h ? В Visual Studio это просто - щелчком на этом файле - View Source. Ну или просто поиском найти его на винте :)

Uzvern
20-08-2008, 01:30
Delirium, чет я тебя не совсем понял! :unsure:
вообщем не нужен спиок данный дейтсвий (&H1, &H2 и т.д.) + description

Delirium
20-08-2008, 01:35
Вопрос звучал как:
Где можно просмотреть или как-то вывести "windows.h" header file? »
отсюда и ответ был.
С вашего кода абсолютно не понятно, что это за &H1 , у вас просто константе присваивается значение некоего &H - откуда это взято?

Uzvern
20-08-2008, 01:38
&H1 отвечает за загрузку формы »
&H2 за её закрытие »
откуда это взято »
Ну как бы из интернета. (http://rsdn.ru/article/vb/wndproc.xml?print)

Прсто я подумал, что "windows.h" - это именно действия, похоже я ошибся и задал вопрос не совсем корректно...

Delirium
20-08-2008, 01:52
Ну так вы бы писали, что вам необходимы коды &H203 и им подобные :) Это похоже на #define в заголовочных файлах. Ищите windows.h как я писал, и будет счастье :) Ну, если есть время, подождите, поищу.

Подсказка: копать примерно отсюда (http://msdn.microsoft.com/en-us/library/ms646360(VS.85).aspx)

Uzvern
20-08-2008, 12:26
спасибо! :happy:




© OSzone.net 2001-2012